問題タブ [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.

0 投票する
2 に答える
12826 参照

javascript - AngularJS + $q、複数の ajax 呼び出しが終了した後に何かを行う

ページの読み込み時にデータを読み込んでから、タスクを実行する必要があります。必要なデータを取得するために、複数の異なる ajax 呼び出しを実行します。しかし、タスクを実行するには、すべての ajax 呼び出しが完了していることを確認する必要があります。これが私がこれまでに行ったことです:

私の問題は、すべての ajax 呼び出しが終了した後、ブロック内のコードがthen(...);実行されないことです。コンソールに次のようなものが表示されます。

私は何か間違ったことをしているに違いない。どうすれば思い通りに動作させることができますか?


編集:回答に記載されているように次のことを試しましたが、それでも同じ問題に直面しています。

0 投票する
2 に答える
53 参照

angularjs - 最後のチェーンされた promise は実行されません

特定の順序で実行したいいくつかのメソッドを連鎖させました。2 番目のメソッドdeviseLogin()は、次のメソッドで渡す必要がある URL を返しますredirect(url)

1 番目と 2 番目のメソッドが実行されますが、最後の からは何も聞こえませんredirect(url)。私が間違っていることがわかりますか?

0 投票する
2 に答える
5593 参照

javascript - Angularjs、ネストされたプロミスを待ちます

3 つの promise を返す 3 つのサービスがありますが、3 つ目は 2 つ目のデータが必要なので、2 つ目の中で呼び出します。3 つの約束がすべて解決されるのを待ちたいのですが、これは私が実装した方法ですが、機能しません (最初と 2 番目の約束だけを待ちます)。

0 投票する
1 に答える
279 参照

javascript - 呼び出し側オブジェクトに $http 応答を返す Angularjs

応答値を親オブジェクトに渡すにはどうすればよいですか。angularjs で http サービス呼び出しを行う実行者は? 私が持っているのは、次のような取得を行う BaseModel です。アイデアは、ベースモデル オブジェクト インスタンスに応答値が必要であるということです。ところで、ブロードキャストなどの使用を避けようとしています。

オブジェクトを呼び出すには

意味:

}];

実際の BaseModel:

0 投票する
1 に答える
1541 参照

angularjs - ディレクティブに注入されたAngular ui-router factory/serviceが空です

次のように ui-router を使用する角度のあるアプリがあります。

ui-router を使用して状態を定義しました。

appState サービスは次のように定義されています。

次のようにディレクティブを定義しました。

ディレクティブは、状態「app.state2.detail」のテンプレートの属性として適用されます。

appState を任意のコントローラーに挿入し、appState のプロパティにアクセスできます。ただし、示されているように appState をディレクティブに挿入すると、ディレクティブ内の空のオブジェクト、つまり {} になり、そこにある必要があるプロパティにアクセスできません。

この問題を回避するために、appState を最上位のコントローラー スコープに挿入して、state2DetailsCtrl のスコープまで継承されるようにしました。次に、scope['appState'] を介してディレクティブでアクセスすると、期待どおりに appState プロパティにアクセスできます。ただし、 appState をディレクティブに挿入するだけでよいと思っていましたか?

ディレクティブに挿入すると appState が空のオブジェクト {} になるのはなぜですか? ファクトリ/サービスをどのようにディレクティブに挿入しますか?

0 投票する
2 に答える
90 参照

javascript - オブジェクトを返すAngularサービス?

私が理解している限り、Angularjs サービスはコンストラクター関数を渡すことによって作成されます。

Angular はこの関数をnew演算子で実行します。

私はこのサービスを利用していましたが、「この」インサイダーは見当たりません

実際、この関数はdeferred.promiseを返します

誰かがここで何が起こっているのかを明らかにできますか?

0 投票する
1 に答える
1351 参照

angularjs - AngularJS : $http promise を返すテスト ファクトリ

$httpGET リクエストとハンドラーを返す角度サービスをテストしようとしていますthenが、関数内でロジックが実際に機能することをテストできませんthen。以下は、サービス コードの基本的な切り詰められたバージョンです。

そして、ここにテストがあります:

呼び出しのロジックをテストするためにほとんどすべてを試したような気がするthenので、誰かが提案を提供できる場合は、大いに感謝します.

編集:私の問題は非標準の注入慣行によるものでもあったため、以下の回答はそれ以外で機能しました。

0 投票する
1 に答える
189 参照

javascript - $http.get が何も返す必要がないのはなぜですか?

私はAngularアプリに取り組んでおり、サービスを呼び出すコントローラーがあります。コントローラーは Url をサービスに送信します。サービスはその URL に GET 要求を送信し、JSON を受信します。その JSON は、Http 要求の Uri です。その Uri を JSON から抽出し、ブラウザーをそれにリダイレクトします。

エンドポイントから返されるJSONは次のようになります

サービスコード

コントローラーコード

ご覧のとおり、ロギングを行って JSON を分解し、何が返されているか、返されたオブジェクトのプロパティにアクセスする方法を正確に把握しています。

私の質問は次のとおりです。

  1. 通話return data;で必要ないのはなぜですか? $http .successどのような状況で必要ですか?
  2. Controller メソッドで$http .success呼び出す必要がないように、呼び出しでデータ オブジェクトから特定のプロパティを返す方法はありますか? data.data.uriまたは、コントローラーに返される前に、返された JSON ペイロードを変更できますか?
0 投票する
2 に答える
942 参照

json - http.get() は逆シリアル化された JSON を取得しますが、HTTP 応答を返しますか?

私のAngularアプリには、独自のスコープをbaseControllerに注入することで定義された関数にアクセスできるbaseController.jsクラスとクラスがあります。これにより、すべてのコントローラー間で機能を共有できます。exampleController.jsbaseController

getDataFromUrl()から関数を呼び出そうとする場合を除いて、これは機能していexampleControllerます。デバッグ中に、それが呼び出され、呼び出しの関数にgetDataFromUrl()入ることがわかります。その時点で、それは逆シリアル化された JSON オブジェクト (この場合はオブジェクトの配列) であることがわかりますが、コードが最終的にの関数に戻ったとき、最終的に受け取るのは逆シリアル化されたオブジェクトではなく、生の HTTP 応答データ。.success()$http.get()dataexampleControllerinitArray()data

baseController.js:

exampleController.js:

がHTTP 応答としてdata戻ってくるのはなぜですか? exampleControllerデシリアライズされたJSONのままにしておきたい!