検索機能は正常に動作しますが、入力された文字ごとにサービスにヒットします。だから、私は2つの入力レターの間に3秒を超えるギャップがある場合、サービスにヒットしたい。検索機能2文字の違いが3秒を超えるとサービスが起動する
どうすれば実装できますか?
検索機能は正常に動作しますが、入力された文字ごとにサービスにヒットします。だから、私は2つの入力レターの間に3秒を超えるギャップがある場合、サービスにヒットしたい。検索機能2文字の違いが3秒を超えるとサービスが起動する
どうすれば実装できますか?
まず、あなたのコンポーネントで定義:
var search$: Subject<string> = new BehavioralSubject<string>('');
を次の検索、更新を行う時:
searchUpdated(value: string){
this.search$.next(value);
}
次にあなたが見ることができるあなたのngInit
this.search$.debounce(3000).subscribe(searchTerm => this.searchService.update(searchTerm));
this.search(term: string)
.debounce(3000)
.filter(term => term.length > 2)
.subscribe();
に追加これは参考用ですサービスコールのための https://github.com/Reactive-Extensions/RxJS
GetSearchResult(searchKey:any)
{
this.timer = setTimeout(() => {
this.service.GetSearchItems(searchKey)
.subscribe(
response =>{
this.TableResponse = response;
});
}, 3000);
}
clearTimer()
{
if(this.timer != null)
clearTimeout(this.timer);
}
のOnChange私は意志setTimeOut
とするとき、タイムアウトイベントの前に押されたキーがトリガーとclearTimeOut
人々はどこまであなたを見ることができるように、」、ここにあなたのコードを投稿してください。行って助けてください。オプションを絞り込む必要があります。 http://stackoverflow.com/tourとhttp://stackoverflow.com/help/how-to-askをお読みください。 – Tom