本質的に、タイトルには、httpコールを行うためにobservable over a promiseを使用する理由がありますか?すべてのコールが成功するか失敗するので、不必要なオーバーコンプリートのように見え、実質的にそれをキャンセルする本当の理由はありません。典型的な観測事例ではなく、debounceの売り上げ高ではない(皮肉なことに、ng-debounceは、とにかくうまくいって、無用な呼び出しをせずに)。プロミスとAngular2のHttpで観測可能か?
答えて
ここではかなり関連性の高いオブザーバブルがあります。
Observable
はキャンセルをサポートしていますが、Promise
はサポートしていません。
subscribe()
とmap()
を使用すると、then()
の代わりに、私にはそれほど複雑なものはありません。 toPromise()
を使用して、必要な場合はPromise
を取得することもできます。
詳細はAngular - Promise vs Observableも参照してください。
また、プログラミングのFRPスタイルが使用されている場合、どこでも観測可能にするのが便利です。それが望ましくない場合は、toPromise()
を使用すると、Promise
と少しシンプルなAPIが得られます。
は同意しますが、ストリームに登録すると、解決後にビヘイビアを追加する非同期関数を連鎖させることはできません。私の考えでは、http呼び出しではobservableが最善の選択ではなく、単純な約束で十分であり、連鎖可能な場合には定型文の作成につながります。 – Polochon
'subscribe()'の代わりに 'map()'を使うだけです。あなたは 'toPromise()'を使うこともできますし、 'then()'を得ることもできます。観察可能なものであればすべてを手に入れることができますが、「約束(Promise)」では分かりません(IMHO)の部品しか手に入れません。 –
また、[再試行](https://github.com/Reactive-Extensions/RxJS/blob/master/doc/api/core/operators/retry.md)によっていくつかの回復力が構築され、失敗したリクエストははるかに簡単です。 – JayChase
promiseとobservableの間の非常に基本的な違いは、Observableモジュールがサブスクリプションを持っていないと動作しないということです。サーバーへの負担が軽減されます。
本当に応答を利用しているかどうかに関わらず、要求とペイロードを使用してサーバーにpingを実行した後、約束オブジェクトを送信します。いつか望ましくない。
ノードは、他のサーバーの負荷を軽減するためのものです。
どのような場合、レスポンスを使用せずに角度のHTTPコールを設定していますか?それは私には意味をなさない。私は遅延ロードを理解していますが、ここでどのように適用できるかはわかりません。失礼しようとするのではなく、なぜ人々がこれを議論の対象にしているのか、本当に分かりません。 – VSO
これは要求が送信されるが、応答は無視されることを意味しません。あなたは、 'map()'、 'filter()'、 'replay()'、 'flatMap()'やその他のもので観測値を構築するメソッドを連鎖させることができますが、何らかの条件が満たされたときに、すべてまたは時には後で要求を出したい。これは、事前に準備してビルドしてオンデマンドでのみ、または繰り返し送信できるSQLクエリのようなものです。 –
2人のクライアントがそれに加入していれば、それは2回働き、実際にそれが必要になるまで呼びを延期します。 –
- 1. Angular2 HTTP観測可能
- 2. オブジェクトで観測可能Angular2
- 3. Angular2:サービスで観測可能なhttpからの退会
- 4. Angular2 RxJs:シンプルなテイク()のhttpからは観測可能
- 5. Angular2で観測可能なオブジェクトのアクセスフィールド
- 6. Angular2:HTTP観測フローは私のコンポーネントで
- 7. 角度2 httpが観測可能
- 8. 観測可能
- 9. Angular2で観測可能ないくつかの質問
- 10. 観測可能な配列内のノックアウト観測可能なオブジェクト
- 11. KnockoutJS - 観測可能なオブジェクトの観測可能配列
- 12. RXJSで観測可能な内部観測オブザーバブルの受信可
- 13. ノックアウト:観測可能
- 14. RxJava観測可能
- 15. 観測可能なサブスクリプションを別の観測可能なサブスクリプションにネストすることは可能ですか?
- 16. 観測可能なデータを観測可能な配列にプッシュノックアウト
- 17. Angular2テンプレートでの観測可能なエラー処理
- 18. Angular2観測可能なHTTPデータが埋め込まれていない
- 19. LatestFromで観測可能
- 20. .mapで観測可能
- 21. は、別の観測可能なものに観測可能です。
- 22. Angular2で観測可能な配列を平らにする
- 23. Angular2 - routerOnDeactivate()で観測可能な停止/キャンセル/クリア
- 24. Angular2/Typescriptで観測可能な値をデバッグする方法は?
- 25. angular2 - サービスはサブスクリプションで観測可能を返します
- 26. 角4、観測可能なオブジェクトへの観測可能なHTTP応答を変換する
- 27. wrap cordova-httpプラグインは観測可能と約束します
- 28. のCoffeeScript、ノックアウト&観測可能
- 29. Angular2の観測可能な変更検出テンプレートの更新
- 30. 角度2 - 観測可能で非同期のHTTPローディング
さらに、私たちがより多くの加入者を持っているときにhttpコールが繰り返されるのを忘れることはありません。観察者を熱くすることができます。 –
もっとも明白な理由は、Httpが約束ではなく観測可能なものを使用していることです。それは最少の努力の道です。 – estus
https://groups.google.com/forum/#!topic/angular-data-dev/AdULPprCkbI –