から退会されていないのはなぜ我々は我々が使用するかなりの数の場所があります。RxJS機能toPromiseは、我々のアプリでは、サブスクリプション
someObservable.take(1).subscribe(onSuccessHandler, onFailureHandler);
をしかし、サブスクリプションを使用すると、いくつかの時点で退会を心配する必要があり、それは常に簡単ではありません。
私はこれを単純化し、このように書き換えを考えていた:
someObservable.toPromise().then(onSuccessHandler).catch(onFailureHandler);
しかし、私はそれが退会を気にしない理由を理解していないようですtoPromise()
(here)の実装を見ています。
コード内のコメントには、キャンセルはできないと言われていますが、メモリのリーク(この場合は実際にはそうです)のままにしておくだけです。
EDIT
は私が私を心配例を思い付いた:
Observable.timer(10, 10).toPromise().then((v) => console.log("I'm done"));
は私が取得する観測は、ある場合はその値を持つ決して完全に彼らは決して完全な、私の約束そしてだけでなく、私はサブスクリプションオブジェクトにアクセスすることができないので、私はそのような観測値からの退会のための方法を持っていません(例えば、それらのタイムアウトと私の約束)。そして、それはメモリをリークします!