angular - RxJS 阻止 switchMap 首先发送请求
问题描述
我有一个组件订阅了同时触发多次的事件。此订阅向服务器发起请求以获取数据。我想要实现的是只触发一个请求。
相反,在最终请求完成之前,我会收到很多取消的请求:
更新:
this.someObject.onEvent()
.pipe(switchMap((filterCriterias) => this.loadData(filterCriterias)))
.subscribe((res) => {
this.data = res;
});
有没有一种方法可以创建一个集水池并且只触发最后一个请求,如图所示(首先不会获得取消的请求)?
我正在使用 RxJs 6.3
提前致谢!
解决方案
this.someObject.onEvent()
.pipe(debounceTime(300),switchMap(() => this.loadData()))
.subscribe((res) => {
this.data = res;
});
推荐阅读
- .net - 如何从 vb6 ocx 获取“miscStatus”?
- ubuntu - 尝试在 Ubuntu 16.04 下运行 asp .netcore 应用程序时出现 core-dump 错误
- python - test.py:第 3 行:导入:找不到命令 test.py:第 5 行:标题:找不到命令
- python - 如何在远程 github 分支和本地分支/文件夹之间轻松切换?
- c++ - 错误 C2385 对“InternalQueryInterface”的模糊访问
- node.js - TelemetryClient 未记录 CustomEvents 的 Session_Id 和 User_Id
- curl - 是否可以将 npm 包卷曲到 nexus 2 中?
- javascript - SyntaxError:JSON.parse 中位置 0 处的 JSON 中的意外标记 u(
) - python - 在子进程 Python 期间进行日志记录
- react-native - undefined 不是对象(评估'routeconfigs initialroutename .params')