基本的に、タイトルが言うように、http呼び出しを行う目的で 約束を超えて観察可能 を使用する理由はありますか?呼び出しが成功または失敗するだけであり、事実上これをキャンセルする本当の理由がないため、不必要な過度の複雑さのように思われます。これを典型的なユースケースについて尋ねますが、デバウンスの典型的な観察可能なセールスピッチではありません(皮肉なことに、ng-debounceは、無駄な呼び出しを行わずに、とにかくうまくいきます)。
ここで非常に関連性のあるオブザーバブルの大きな利点があります。
Observable
はキャンセルをサポートしていますが、Promise
はサポートしていません。
subscribe()
の代わりにmap()
とthen()
を使用しても、それほど複雑にはならないようです。必要に応じて、toPromise()
を使用してPromise
を取得することもできます。
詳細については、 Angular-Promise vs Observable も参照してください。
また、FRPスタイルのプログラミングを使用する場合は、どこでも観察できるようにするのが便利です。それが望ましくない場合は、toPromise()
を使用するだけで、Promise
と少し単純なAPIが提供されます。
Promiseとobservableの非常に基本的な違いは、サブスクライブされている機能がない場合、Observableモジュールは機能しないことです。したがって、サーバーへの負担が少なくなります。
Promiseの場合と同様に、応答を本当に利用しているかどうかに関係なく、サーバーに要求とペイロードをpingした後、promiseオブジェクトが送信されます。いつか望ましくない。
基本は、ノードまたは他のサーバーの負荷を減らすことです。