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
始终会取消