【发布时间】:2018-04-27 08:08:09
【问题描述】:
我对新的 Observable 进行了 http 调用,但无法检测到订阅是否被取消:
constructor( @Inject(Http) private http: Http) {
}
...
const observable = Observable.create((observer: Observer<any>) => {
this.http.post(url, body)
.subscribe((p) => {
observer.next(p.json());
observer.complete();
}, (err) => {
observer.error(err);
observer.complete();
});
});
const subscription = observable.subscribe((r) => { alert("result : "+r); }, (err) => { alert("error occured");}
subscription.unsubscribe(); // if user cancels the request
如果用户取消订阅,我如何在Observable.create(...) 中检测到?我想在外部 Observable 被取消时取消 http post 请求。
【问题讨论】:
标签: observable angular5 rxjs5