問題タブ [angular-promise]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
angularjs - AngularJSで$httpリクエストをキャンセルするにはどうすればよいですか?
AngularJSでAjaxリクエストが与えられた
別のリクエストが起動された場合にそのリクエストをキャンセルする最も効果的な方法は何ですか(同じバックエンド、異なるパラメータなど)。
angularjs - AngularJSの約束
AngularJSのドキュメントによると:
$ qプロミスは、角度のあるテンプレートエンジンによって認識されます。つまり、テンプレートでは、スコープにアタッチされたプロミスを、結果の値であるかのように扱うことができます。
それで、誰かがこのフィドルが機能しない理由を説明できますか?テキストフィールドの値を変更することはできません。しかし、$ httpサービスがスコープフィールドに戻るという約束を割り当てることは、魅力のように機能します。
コントローラ:
HTML:
javascript - AngularJS : 非同期データでサービスを初期化する
いくつかの非同期データで初期化したい AngularJS サービスがあります。このようなもの:
何かが戻ってくるdoStuff()
前に呼び出そうとすると、ヌルポインタ例外が発生するため、明らかにこれは機能しません。こことここでmyData
尋ねられた他の質問のいくつかを読んでわかる限り、いくつかのオプションがありますが、どれもあまりきれいに見えません(おそらく何かが欠けています):
「実行」によるサービスのセットアップ
アプリをセットアップするときは、次のようにします。
次に、私のサービスは次のようになります。
これは時々機能しますが、非同期データがたまたますべてが初期化されるよりも時間がかかる場合、呼び出し時にヌルポインター例外が発生しますdoStuff()
promise オブジェクトを使用する
これはおそらくうまくいくでしょう。どこでも MyService を呼び出す唯一の欠点は、 doStuff() が promise を返し、すべてのコードが promise とthen
対話する必要があることを知る必要があることです。アプリケーションをロードする前に、myData が戻ってくるまで待ちたいと思います。
手動ブートストラップ
グローバル Javascript Var JSON をグローバル Javascript 変数に直接送信できます。
HTML:
data.js:
その後、初期化時に利用可能になりますMyService
:
これも機能しますが、悪臭を放つグローバル javascript 変数があります。
これらは私の唯一のオプションですか?これらのオプションの 1 つは、他のオプションよりも優れていますか? これがかなり長い質問であることは承知していますが、すべての選択肢を検討しようとしたことを示したいと思います。任意のガイダンスをいただければ幸いです。
javascript - AngularJS http get then construct でのエラー処理
AngularJS の "http get then" コンストラクト (promise) を使用しているときに、500 などの HTTP エラーを処理するにはどうすればよいですか?
問題は、200 以外の HTTP 応答の場合、内部関数が呼び出されないことです。
javascript - 解決済みの promise をサービスに注入する
その情報に依存する一連のサービスをセットアップする前に、サーバーから何らかの情報 (スキーマ) を取得する必要があります。
私のサーバーは、モデルのさまざまなプロパティを定義するスキーマを提供します。私のAngularコードには、このスキーマを取得するサービスがあります:
スキーマに依存する他のサービスに、promise ではなくスキーマ オブジェクトを挿入したいと考えています。$routeProvider を使用すると、コントローラーに対してこれを行うことができます。
これにより、次のように SomeCtrl を定義できます。
しかし、サービスの場合、私はしなければなりません:
これを行う方法はありますか?
angularjs - angular $http / jquery 完全に同等
angular $httpモジュールでjquery 'complete'コールバックをエミュレートする方法はありますか? リクエストが成功したか失敗したかに関係なく実行したいコードがいくつかあり、現時点ではこれを書かなければならないことに気づきました:
しかし、私はむしろ次のようなものを書きたいです:
promise API も使用してみましたが、同じ問題が発生します。なにか提案を?
javascript - AngularJS サービスで promise オブジェクトをキャッシュする
Promises を使用して、AngularJS で静的リソースの動的読み込みを実装したいと考えています。問題: サーバーから静的リソースを取得する必要がある可能性がある (または表示されているかどうかに応じて動的である) ページにいくつかのコンポーネントがあります。ロードされると、アプリケーションの存続期間全体にわたってキャッシュできます。
私はこのメカニズムを実装しましたが、Angular と Promises は初めてなので、これが適切なソリューション \ アプローチであるかどうかを確認したいと考えています。
したがって、リクエストは 1 つだけ行われ、loadDataPromise() への次の呼び出しはすべて、最初に行われた promise を取得します。進行中のリクエストや、しばらく前に終了したリクエストに対応しているようです。
しかし、Promise をキャッシュするのは良い解決策でしょうか?
javascript - 決して解決されない約束はメモリリークを引き起こしますか?
私は持っていPromise
ます。必要に応じて AJAX リクエストをキャンセルするために作成しました。しかし、その AJAX をキャンセルする必要がないため、解決したことはなく、AJAX は正常に完了しました。
簡略化されたスニペット:
そのような約束を決して解決しないと、メモリリークが発生しますか? Promise
ライフサイクルの管理方法について何かアドバイスはありますか?