2
検索を自動完了します。Angular2 - 実行中のhttp要求の呼び出しを中断/キャンセルする方法はありますか?
keypress(valueSearch){
// call Ajax search with ValueSearch
// ....
}
キー入力イベントごとに、私は古いHTTPリクエストをキャンセルします。
検索を自動完了します。Angular2 - 実行中のhttp要求の呼び出しを中断/キャンセルする方法はありますか?
keypress(valueSearch){
// call Ajax search with ValueSearch
// ....
}
キー入力イベントごとに、私は古いHTTPリクエストをキャンセルします。
事実、イベントから作成されたオブザーバブルに依存する必要があります。デフォルトのイベント・バインディングを使用する場合、この監視対象にアクセスすることはできません。この問題に関する開いて問題があります。
今あなたが@ViewChild
デコレータを持つ要素を参照し、その上に観察を設定する必要があります。
@ViewChild('someElt')
someElt: ElementRef;
ngAfterViewInit() {
Observable.fromEvent(someElt.nativeElement, 'keyup');
}
switchMap
演算子を利用して、HTTPリクエストを好きにすることができます。データフローに進行中のリクエストがある場合、キャンセルされます。
@ViewChild('someElt')
someElt: ElementRef;
ngAfterViewInit() {
Observable.fromEvent(someElt.nativeElement, 'keyup').switchMap((evt) => {
return this.http.get('something').map(res => res.json())
}).subscribe(data => {
// use data
});
}