Reactjs Redux可观察取消以前的请求
我有一部史诗,它能发出多种动作Reactjs Redux可观察取消以前的请求,reactjs,rxjs,axios,redux-observable,Reactjs,Rxjs,Axios,Redux Observable,我有一部史诗,它能发出多种动作 export const abc = action$ => action$.pipe( filter(isActionOf(fetchAllSearchOptions)), mergeMap((action) => { return concat( concat( of(fetchOptions({term: 'a', ...action.payload})),
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个对服务器的请求&如果任何参数发生更改,我们将再次调用它。这会向服务器调用大量请求,但不会取消以前的请求。怎么
如何取消以前的请求在给定的示例中,使用
switchMap
而不是mergeMap
mergeMap
不会取消由以前的值产生的任何订阅,但switchMap
始终会取消