0
在我的商店中有一个包含未决网络请求的队列。 当动作ATTEMPT_FLUSH
已启动时,我想按顺序发送请求。 但是,如果其中一个失败并发出ATTEMPT_FLUSH_CANCELLED
,则不应尝试下一个(当然,在我再次尝试下一个ATTEMPT_FLUSH
时)。当一个失败时取消ajax调用顺序
这里是我到目前为止
export const attemptFlushEpic = (action$, store) =>
action$
.ofType(ATTEMPT_FLUSH)
.mergeMap(() => Observable.from(store.getState().queue)) // state.queue is an array
.concatMap(action =>
Observable.ajax(action.url)
.map(response => removeFromQueue(action))
.catch(err => Observable.of(attemptFlushCancelled())));