我目前正在使用动作创建器将回调函数传递给 Epic,但是我遇到了常见错误:Actions must be plain JavaScript objects...
有没有一种方法可以执行回调并继续处理 Epic 中的 observable?我也尝试过使用花括号和显式返回将链分配给一个变量并在调用回调后返回它,但我遇到了同样的问题。
代码:
const selectItem = (item, activeRow, cb) => ({ type: SELECT_ITEM, activeRow, item, cb });
const selectItemEpic = action$ =>
action$.ofType(SELECT_ITEM)
.mergeMap(action =>
Observable.forkJoin(
ajax.getJSON(...),
ajax.getJSON(...)
)
.map(res => returnSelectedItem({ ...res[0].response, ...res[1].response }, action.activeRow))
.map(() => action.cb()) // failing here
.takeUntil(action$.ofType(SELECT_ITEM))
);