【发布时间】:2019-01-27 05:19:49
【问题描述】:
基本上,我有 2 个 observables。
obseravableClickBtn将立即发送请求observableInputText将发送请求去抖动 3 秒。
代码:
obseravableClickBtn = Observable.fromEvent(Observable.fromEvent(document.getElementsById('btnSearch'), 'click')
observableInputText = Observable.fromEvent(this.textBoxInput1.nativeElement, 'keyup')
.merge(Observable.fromEvent(this.textBoxInput2.nativeElement, 'keyup')).debounceTime(3000)
在observableInputText的3秒去抖,如果btnSearch被点击,我想取消observableInputText observable并立即发送请求
我尝试使用:
const mergeObservable=obseravableClickBtn.merge(observableInputText).switchMap(
()=>sendRequest());
但是,如果我在输入后的 3 debounce 秒内单击 btnSearch,仍然会发出 2 个请求。我一次只想要一个可观察的运行。有没有其他类似的算子函数?
【问题讨论】:
标签: angular typescript merge rxjs observable