如何解决Redux Observable取消先前的请求
我有一部史诗,可以发出多种动作
export const abc = action$ =>
action$.pipe(
filter(isActionOf(fetchAllSearchOptions)),mergeMap((action) => {
return concat(
concat(
of(fetchOptions({term: 'a',...action.payload})),of(fetchOptions({term: 'b',of(fetchOptions({term: 'c',),concat(
of(fetchOptions({term: 'd',of(fetchOptions({term: 'e',of(fetchOptions({term: 'f',)
)
})
);
fetchOptions
具有mergeMap,因此可以发送所有调用,但不会在参数更改时取消挂起的请求。
这将向服务器调用6个请求,如果有任何参数更改,我们将再次调用它。这会向服务器调用很多请求,但不会取消先前的请求。怎么样 如何取消以前的请求
解决方法
在给定的示例中,使用switchMap
代替mergeMap
。 mergeMap
不会取消任何由先前值引起的订阅,但是switchMap
会取消。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。