我有一个输入 html 元素并使用 Observables 执行基本类型提前搜索功能:
编码:
@Output() keywordChange = new EventEmitter();
this.keyword$ = Observable.fromEvent(myInput, 'keyup');
this.keyword$
.map((event: any) => event.target.value)
.debounceTime(200)
.subscribe(keyword => this.keywordChange.emit(keyword));
所以基本上我正在捕获每个键位之间至少有 200 毫秒键入的任何关键字。
现在我想保存用户在 cookie 中搜索的任何内容,以便向他们显示“您的最新搜索”,但我想在保存键入的值之前等待 3000 毫秒。
我知道下面的代码不起作用,但只是为了说明,我想实现与此类似的东西:
this.keyword$
.map((event: any) => event.target.value)
.debounceTime(200)
.subscribe(keyword => this.keywordChange.emit(keyword))
.debounceTime(3000)
.subscribe(keyword => addKeyWordToLatestSearches(keyword));
这是否有可能以某种方式链接运营商以不同的去抖时间做多项事情?