問題タブ [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 投票する
1 に答える
79 参照

angularjs - AngularJS: promise のスコープ ($scope ではない)

現在、angularjs の $http サービスを使用して、ローカルにホストされている json ファイルからデータを取得しています。次に、そのファイルのデータがコントローラーに送信され、データを変更できる ui.router を介してビューに状態として表示されます。その状態から変更されたデータは、そのデータを json 形式で示す別の状態に表示され、ユーザーがコピーしてドキュメントに貼り付けることができます。ただし、状態を変更するたびに、変更されたデータが元のデータに戻っているように見え、状態が変更されるたびにコントローラーが元のデータをリロードする必要があることがわかります。データを一度だけロードする方法はありますか?

services.js

customerController.js

0 投票する
5 に答える
26525 参照

javascript - AngularJS を使用して解決済みの promise をすぐに返す

私は、JavaScript (特に AngularJS) の約束について頭を悩ませようとしています。

私はサービスに関数を持っています。それを呼び出しましょうfooService。これは、データをロードしたかどうかをチェックします。もしそうなら、私はそれを返したいだけです.そうでない場合は、データをロードしてpromiseを返す必要があります:

次のようなupdate関数を呼び出す別の関数があります。fooService

ここでの問題は、関数にデータをロードする必要がない場合update、プロミスが返されないため.then()、他の関数で呼び出されないことです。ここでのアプローチはどうあるべきですか - 基本的にupdate()、Restangular 呼び出しからデータを取得する必要がない場合、解決されたプロミスを関数からすぐに返したいですか?

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

angularjs - $http と promises と POST

次のようなコードを指定します。

返されたプロミスで .then() を呼び出すと、次のようになります。

適切な .success() および .error() コールバックからの戻り値が .then() コールバックに渡されること。

ただし、期待する動作が見られません。 GET を使用すると、期待どおりに動作します。POST では、それほど多くはありません。通常の deferred \ promise のように動作するはずであるという私の仮定は正確ですか? どこに文書化されていますか (ソース以外)

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

javascript - サービスにおけるAngular promiseの応答に関する問題

初めてAngular 1.2.18を使用しています。Rails 3.2とcoffeescriptで使用しています。サービスでプロミスを使用してデータをフェッチし、それを使用してテンプレートに入力しようとしています。私のコードは次のようになります。

これを実行しようとすると、「未定義は関数ではありません」というメッセージが表示され、有用なスタック トレースが表示されません。どの部分が未定義なのかわかりません。config() でこれを行うことを考えましたが、 $http.get(url) の URL が実行時までわかりません。これを「角度のある方法」で行うためのヘルプやアドバイスをいただければ幸いです。

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

javascript - 関数の戻り値が angularjs の約束を待たない

angularjs の約束について問題があります。誰かが私を正しい方向に向けることができるかもしれません。コントローラーに検証関数があり、すべてが良好な場合は true を返し、問題がある場合は false を返します。シングル ページ アプリはこの前提で動作するため、この前提を簡単に変更することはできません...

最近要件が変更されるまで、すべてが正常に機能していました。サーバーをチェックして、以前にシステムで id 値が使用されていたかどうかを確認しようとしています。したがって、サーバーへの非同期呼び出しを行って確認する必要があります。 $scope.scopeData.customer.checkForDuplicateIdentity() メソッドを使用し、非同期呼び出しが機能することを約束していることがわかります。

私が持っている唯一の問題は、非同期呼び出しが完了する前に customerValidation メソッドが終了し、常に false を返すことです。つまり、

return isValidated 行は常に isValidated が true になる前に実行されます。

外部の return ステートメントを非同期呼び出しの完了まで待機させることはできません。内部関数から isValidated を返すと、customerValidation 関数に値が返されません。誰かがこれを達成する方法を教えてもらえますか?

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

javascript - angularjs でプロミスをモックする

angular promise をモックしようとしましたが、 undefined is not a function Evaluation 'spyOn' fileUploadService のようなエラーが発生しました

私のコントローラーコードは

サービスコード、コントローラーからこのメソッドを呼び出します

テスト コントローラー コード

ありがとう

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

javascript - AngularJS の $http サービス

私は AngularJS を初めて使用し、練習用の WebApp をまとめようとしています。以前のバージョンの My App では、単一のコントローラーがあり、$httpサービスを使用して JSON ファイルからデータを取得していました。

$httpサービスは正常に機能しました。その後、進行するにつれて、複数のコントローラーがあり、コントローラー間でデータを共有するために、$httpサービスを次のようにファクトリに移動しました

そして、ここにHTMLがあります

$http Service をFactoryに移動した後、何らかの理由でデータが表示されない理由がわかりません。何が間違っているのでしょうか。コンソールにエラーは表示されません。