【发布时间】:2020-12-29 06:23:25
【问题描述】:
我有一个可以发出多个动作的史诗
export const abc = action$ =>
action$.pipe(
filter(isActionOf(fetchAllSearchOptions)),
mergeMap((action) => {
return concat(
concat(
of(fetchOptions({term: 'a', ...action.payload})),
of(fetchOptions({term: 'b', ...action.payload})),
of(fetchOptions({term: 'c', ...action.payload})),
),
concat(
of(fetchOptions({term: 'd', ...action.payload})),
of(fetchOptions({term: 'e', ...action.payload})),
of(fetchOptions({term: 'f', ...action.payload})),
)
)
})
);
fetchOptions 具有 mergeMap,因此可以发送所有调用,但它不会取消参数更改时挂起的请求。
这会向服务器调用 6 个请求,如果有任何参数更改,我们会再次调用它。这会向服务器调用大量请求,但不会取消之前的请求。如何 如何取消之前的请求
【问题讨论】:
标签: reactjs rxjs axios redux-observable