RXJS:如何取消Ionic 3 / Angular中的订阅?

时间:2017-09-28 21:52:46

标签: javascript angular ionic-framework ionic2 ionic3

在Ionic 2/3中,我正在调用HTTP post请求,就像这样。这有效。但是如何取消呢?网上有些地方说使用postObservable.unsubscribe(),但没有这样的功能。有什么想法吗?

postObservable:Observable<Response> = null;

...

this.postObservable = this.http.post(url, data, options);

this.postObservable.subscribe(
    (data) => {
        // do something here
    },
    (data) => {
        // do something here
    }
);

1 个答案:

答案 0 :(得分:3)

当您订阅到一个observable时,它会返回一个Subscription实例。然后,您可以使用该订阅取消请求:

// Imports
import { Subscription } from 'rxjs/Subscription';

// ...

this.postObservable = this.http.post(url, data, options);

let subcriber: Subscription = this.postObservable.subscribe(
    (data) => {
        // do something here
    },
    (error) => {
        // handle the error
    });

要取消使用此功能:

subscriber.unsubscribe();