PromiseとObservableの違いは何ですか?質問する

PromiseとObservableの違いは何ですか?質問する

Angular におけるPromiseの違いは何ですか?Observable

それぞれの例があれば、両方のケースを理解するのに役立ちます。それぞれのケースはどのようなシナリオで使用できますか?

ベストアンサー1

約束

非同期操作が完了または失敗したときに、単一のイベントPromiseを処理します

注:Promiseキャンセルをサポートするライブラリは存在しますが、ES6 ではPromise今のところサポートされていません。

観察可能

は(多くの言語の)Observableに似ておりStream、各イベントに対してコールバックが呼び出される 0 個以上のイベントを渡すことができます。

多くの場合、 は 以上の機能を備えているため、Observableよりも好まれます。 では、0 個、1 個、または複数のイベントを処理するかどうかは関係ありません。 いずれの場合も同じ API を利用できます。PromisePromiseObservable

Observableには、キャンセルPromise可能であるという利点もあります。サーバーへの HTTP リクエストの結果やその他の負荷の高い非同期操作が不要になった場合、 の を使用するとサブスクリプションをキャンセルできます。一方、 は、通知やその結果が不要になった場合でも、最終的には成功または失敗のコールバックを呼び出します。SubscriptionObservablePromise

はすぐに起動しますがPromiseObservableはサブスクライブした場合にのみ起動します。これが、Observable が遅延と呼ばれる理由です。

Observableは配列に似た、、、など演算を提供します。mapforEachreduce

retry()、 、 ...などの強力な演算子もあり、replay()非常に便利です。rxjs に同梱されている演算子のリスト

遅延実行を使用すると、サブスクライブによってオブザーバブルが実行される前に演算子のチェーンを構築して、より宣言的な種類のプログラミングを行うことができます。

おすすめ記事