Rx.Observable subscribe と forEach の違いは何ですか? 質問する

Rx.Observable subscribe と forEach の違いは何ですか? 質問する

Observableをこのように作成すると

var source = Rx.Observable.create(function(observer) {...});

違いは何ですか購読する

source.subscribe(function(x) {});

そして

source.forEach(function(x) {});

ベストアンサー1

の中にES7仕様、 どれのRxJS 5.0に従います (ただし、RxJS 4.0 は従いません)。2 つは同じではありません。

購読する

public subscribe(observerOrNext: Observer | Function, error: Function, complete: Function): Subscription

Observable.subscribeここで、実際の Observable 処理のほとんどが行われます。サブスクリプション トークンが返され、これを使用してサブスクリプションをキャンセルできます。これは、サブスクライブしたイベント/シーケンスの期間がわからない場合、または既知の期間の前にリッスンを停止する必要がある場合に重要です。

public forEach(next: Function, PromiseCtor?: PromiseConstructor): Promise

Observable.forEachObservable が完了またはエラーになったときに解決または拒否する Promise を返します。これは、Promise を処理することによって、すべての受信値を照合してから 1 回表示するなど、より「同期」的な方法で、制限された/有限の期間の Observable シーケンスを処理する状況を明確にすることを目的としています。

事実上、どちらの方法でも、各値、エラー イベント、完了イベントに対してアクションを実行できます。したがって、最も重要な機能上の違いは、Promise をキャンセルできないことです。

おすすめ記事