2017-10-12 71 views
0

嗨我有這個史詩在我的代碼和它的工作很好,它獲取所有數據我想要的。但是,當我想測試它時,我會得到這個錯誤TypeError: Cannot read property 'Symbol(Symbol.iterator)' of undefined我在網上發現了這個問題,但通常是缺少return observabel,但我有它...你能幫我嗎?Observable無法讀取屬性'Symbol(Symbol.iterator)'

const createMyEpic = ({ 
    actionID, 
    endpoint, 
    callback, 
}: Props): Epic => 
    (action$: any, { api, getState }: Deps): CommonAction => action$.ofType(actionID) 
    .mergeMap((epic: EpicMessage) => { 
     const { 
     parameters, 
     requestConfiguration = {}, 
     } = epic; 
     const data = { 

     }; 
     const method = epic.method || 'get'; 
     const configuration = { 
     ...requestConfiguration, 
     headers: { 
      'Access-Control-Allow-Origin': 'localhost:9000', 
     }, 
     }; 

     return Observable.fromPromise( 
     api[method](
      parameters, 
      data, 
      configuration, 
     ), 
    ).map(callback); 
    }); 

回答

0

我認爲這可能與您在.mergemap()中缺少返回語句有關。

{...}一起使用箭頭功能時您需要有一個返回語句。例如.mergemap((data) => { ... return something;})。但是如果你使用的是沒有curlies的箭頭函數,你應該避免返回Observable而實際上沒有任何return語句。

希望它有幫助。

+0

其幫助...但它不在我的代碼的這一部分 –