Observable无法读取属性'Symbol(Symbol.iterator)'

时间:2017-10-12 19:11:04

标签: javascript reactjs react-native observable

嗨我在我的代码中有这个史诗,它的工作很好,它可以获取我想要的所有数据。但是,当我想测试它时,我会收到此错误TypeError: Cannot read property 'Symbol(Symbol.iterator)' of undefined我在网上发现了这个问题,但通常会遗漏return observabel但我已经在那里了...你能帮帮我吗?

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);
    });

1 个答案:

答案 0 :(得分:0)

我认为这可能与您在.mergemap()中缺少退货声明有关。

使用带{...}的箭头功能时需要有一个return语句。例如.mergemap((data) => { ... return something;})。但是如果你使用没有curlies的箭头函数,你应该在没有任何return语句的情况下返回Observable。

希望它有所帮助。