【发布时间】:2018-09-15 21:10:46
【问题描述】:
我寻求“取消”(takeUntil) 在以下 redux-observable 史诗中的 AJAX 调用,同时保留 catchError 效果。
const someEpic = action$ =>
action$.pipe(
ofType(REQUEST_MAPPED_ESTABLISHMENTS),
map( action => ( // transform data to url )),
mergeMap( url =>
ajax({ url }).pipe(
mergeMap( establishments => {
const { error, data } = establishments.body
if (error) throw 'some error';
return of(actions.receiveMappedEstablishments(data))
}),
catchError(error =>
(of(actions.requestMappedEstablishmentsFailure(error)))
),
)
),
)
如何重组以上摘录以包含takeUntil,例如,以下内容?
takeUntil(action$.ofType(UI_HAS_CHANGED_SO_NEW_DATA_NOW_REQUIRED))
到目前为止,在我的尝试中,我只成功地完全取消了someEpic,例如将takeUntil插入action$.pipe。
【问题讨论】:
-
请解释一下 nwse 是什么。
-
takeUntil... 什么?另一个动作? -
感谢您的关注:请查看请求的更改。
标签: rxjs redux-observable