私の角形のアプリケーションでは、Rxjsを使ってmakeをキャンセルしてhttp要求することができます。シナリオ:rxjsのhttpサブスクリプションをキャンセルします
isComponentAlive = true;
onSave() {
this.service.save(this.formValue).takeWhile(() => this.isComponentAlive).subscribe();
}
ngOnDestroy() {
this.isComponentAlive = false;
}
私は別のルートにナビゲートするキャンセルボタンがあります。保留中のhttpリクエストを取り消したいのですが、この方法は機能していません。私はより明確なことをしてから、すべてのhttpリクエストの購読を購読解除するようにしたいと思います。
'takeWhile'をキャンセルするために使用することはできませんそれが受け取る述語が[値を受け取ったとき]呼び出されるため、保留中のHTTP要求(http://reactivex.io/rxjs/class/es6/Observable.js~Observable.html#instance-method-takeWhile) - ie HTTP要求estは応答を出します。 – cartant