angular - 任何想法为什么我的 RxJS api 调用捕获每个击键而不是等待?
问题描述
我正在尝试使用 Angular 7.3.1 和 RxJS 6.4 对 RxJS 进行前瞻。当我键入时,每次击键都会被发送,而不是等待一段时间来捕获所有击键。
我的.service.ts
return fromEvent(document.getElementById('input-size-default'), 'input')
.pipe(
debounceTime(500),
map((e: any) => e.target.value),
filter(earlyText => earlyText.length > 3),
distinctUntilChanged(),
switchMap((myText) => ajax.post(this.base_href + ':3000/searchUsers', {user: myText}))
);
组件.ts
this.ad.searchCiscoUser()
.subscribe(response => this.showResults({'results': response}), error => this.showResults({'error': error}));
对于我的搜索,我输入了我的部分姓名,您可以在下面看到 9 个本应只发生一次的电话。
解决方案
看来您订阅了多次。它应该只订阅一次,它会给出适当的结果。
推荐阅读
- python - 在Python中将json列表写入文件的正确方法
- vscode-settings - 使用 settings.json 在 VSCODE 中设置集成终端名称
- sql - 如何在oracle sql查询中提取括号之间的文本
- c++ - 如果不为每个分配 1,“int x,y,z = 1”在做什么?
- r - 如何使用应用函数或循环对 R 中的每一列进行方差分析?
- azure-devops-rest-api - 在 C# 中反序列化 Azure Devops API 中的变量
- python-3.x - 试图从 YouTube 数据 API 上的频道及其评论中检索 videoid
- python - 堆叠 Ensenble 卷积神经网络
- wordpress - wordpress 多站点域映射重定向
- stata - 有没有办法在 Stata 中初始化 3D 矩阵?