嗨我在我的代码中有这个史诗,它的工作很好,它可以获取我想要的所有数据。但是,当我想测试它时,我会收到此错误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);
});
答案 0 :(得分:0)
我认为这可能与您在.mergemap()
中缺少退货声明有关。
使用带{...}
的箭头功能时需要有一个return语句。例如.mergemap((data) => { ... return something;})
。但是如果你使用没有curlies的箭头函数,你应该在没有任何return语句的情况下返回Observable。
希望它有所帮助。