取消订阅可观察的承诺

Ank*_*ush 3 reactive-programming rxjs angular

如果一个observable转换为promise,我如何取消订阅?我在Angular 2中使用RxJS

import 'rxjs/add/operator/toPromise';

return this.http.get(this.heroesUrl)
                  .toPromise()
                  .then(this.extractData)
Run Code Online (Sandbox Code Playgroud)

mic*_*yks 8

如果您订阅到一个可观察到,然后就可以取消它.

当你返回承诺时(这里似乎你回复了承诺 - 不可 观察),你通常不会订阅它.对??
所以你不能取消订阅(承诺).

  • 取消订阅`Observable.fromPromise()`怎么样? (2认同)
  • @Abdel:取消订阅是自动的.如果检查Observable.fromPromise()的源代码,则在observer.https://github.com/Reactive-Extensions/RxJS/blob/master/src/core/perf/operators/中调用onCompleted()函数. frompromise.js (2认同)