【发布时间】:2018-07-25 15:24:25
【问题描述】:
我从学习如何使用 RxJS 开始,我已经实现了一个带有条件 Ajax 调用的史诗,如下所示:
export default (action$, store) =>
action$.ofType(GET_USERS_BY_ID)
.mergeMap((action) => {
const userIdList = action.userIdList;
let observable;
if (userIdList.length > 0) {
observable = ajax.get('api/user', { userIdList });
} else {
observable = Observable.of({
response: {}
});
}
return observable
.mergeMap((payload) => {
doSomething1(payload);
doSomething2(payload);
});
});
这是正确的方法吗,还是有一些运算符可以简化它?
【问题讨论】:
-
如果
userIdlList.length == 0看起来很奇怪,这将发出doSomething1和doSomething2的空响应。 @glendaviesnz 的回答似乎更符合我的预期,你能澄清为什么不是吗?
标签: rxjs reactivex redux-observable