0
私は、左側のリストに異なるリンクがあり、右側にそれぞれの詳細を示す画面があります。私は詳細を得るために以下のサービスを使用しています。それは使用するのは良いアプローチ以前のリクエストをキャンセルし、角度4でエラーをキャッチします。http
getDetails(id: string) : Observable<any>{
const url = `${environment.server}/api/details/${id}`
return Observable.of(1)
.debounceTime(2000)
.switchMap(() => this.http.get(url))
.map(r => r.json())
}
- です
1
は意味がありませんObservable.of(1)
?別の方法がありますか? - 複数のクリック/詳細のリクエストを防止し、最新のものにのみ返信する方法ですか?
- この場合、
http
のエラーをどのように捕捉できますか?
私が欲しいの主なものは、前のHTTP呼び出しは、すぐに新しい要求が行われたとして取り消されるべきである、新たな呼び出しが行われた後、それが最後の呼び出しをprocesing続けるはずの。 – sabithpocker
あなたはこれをチェックしたいかもしれません:[link](https://stackoverflow.com/questions/36490926/how-to-cancel-a-httprequest-in-angular-2)しかし正直なところ私はまだそれを回避する方法。リクエストをキャンセル/キャンセルすると、サーバーが何かをやめることを意味するわけではありません。サーバー側では、要求は通常どおり処理されます。無駄なリクエストでサーバが過負荷にならないようにするには、再考する必要があります:) jm2c – djnose
@djnjsoneあなたのフォローアップをありがとう。私はこれをゆっくりと理解しており、以前のリクエストをキャンセルするには、退会を手伝っています。しかし、あなたが言われたように、無駄な要求でサーバーを過負荷にすることを避ける方法はありますか? – sabithpocker