只是一个简单的问题,但我无法使其发挥作用:(如何将debounceTime与http服务相结合?
所以我有我的通用服务:
/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+(?!\.c).{2}@mobily\.com\.sa$/i
我正在调用这样的服务:
public getAll(): Observable<T[]> {
return this._http.get(this.url, { headers: this.headers })
.map(this.extractAll)
.catch((err) => { return this.extractAllError(err, this._alertService); });
}
但它不会等待我5秒钟来检索数据,它只是立即。
我已尝试使用this._myService.getAll().debounceTime(5000).subscribe((data) => {
debugger;
this.data = data;
});
,但结果相同。
提前致谢;)
答案 0 :(得分:2)
答案 1 :(得分:0)
我认为debounceTime
是一种控制背压的方法。这意味着如果请求被大量执行,那么当没有任何内容被推送时,您将只获得一个新值。
也许throttleTime
是您正在寻找的? https://www.learnrxjs.io/operators/filtering/throttletime.html