2017-02-22 6 views
1

только простой вопрос, но я не могу заставить его работать :(Как совместить debounceTime с сервисом HTTPObservable - debounceTime для службы HTTP не работает - Угловая

Так у меня есть общий сервис:

public getAll(): Observable<T[]> { 
     return this._http.get(this.url, { headers: this.headers }) 
      .map(this.extractAll) 
      .catch((err) => { return this.extractAllError(err, this._alertService); }); 
} 

и я вызываю службу, как это:.

this._myService.getAll().debounceTime(5000).subscribe((data) => { 
      debugger; 
      this.data = data; 
}); 

но не ждать 5 секунд для меня, чтобы получить данные, это просто мгновенно

Я пробовал с distinctUntilChanged() также но такой же результат.

Заранее спасибо;)

ответ

2

debounceTime не предполагается использовать для того, что вы пытаетесь сделать здесь. Из docs:

Выбросьте испускаемые значений, которые принимают меньше указанное времени между выходом

Я думаю, что вы ищете delay:

Delay излучаемого значение, заданное время ,

+0

Спасибо, это то, что я искал –

0

Я думаю debounceTime способ контролировать обратное давление. Значение, если запрос выполняется много, вы получите только новое значение, когда ничего не будет нажато 5s.

Возможно, что throttleTime - это то, что вы ищете? https://www.learnrxjs.io/operators/filtering/throttletime.html

+0

Спасибо @Sebastian Я действительно искал задержки. действительно оценил :) –

Смежные вопросы