2017-02-22 16 views
1

単純な疑問が、私はそれがどのようにHTTPサービスとdebounceTimeを組み合わせること観測可能 - HTTPサービスのdebounceTimeは動作しません - 角度

をだから私は私の一般的なサービスを持っている:(動作させることはできません。?

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だと思う:

遅延が与えられた時間によって値が放出されます。

+0

ありがとう、これは私が探していたものです –

0

私はdebounceTimeは背圧を制御する方法だと思います。つまり、リクエストが多量に実行された場合、5秒間何も押されていない場合にのみ新しい値を取得します。

throttleTimeはお探しですか? https://www.learnrxjs.io/operators/filtering/throttletime.html

+0

ありがとうございます@セバスチャン私は実際に遅延を探していました。本当に感謝しています:) –

関連する問題