問題タブ [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: promise のスコープ ($scope ではない)
現在、angularjs の $http サービスを使用して、ローカルにホストされている json ファイルからデータを取得しています。次に、そのファイルのデータがコントローラーに送信され、データを変更できる ui.router を介してビューに状態として表示されます。その状態から変更されたデータは、そのデータを json 形式で示す別の状態に表示され、ユーザーがコピーしてドキュメントに貼り付けることができます。ただし、状態を変更するたびに、変更されたデータが元のデータに戻っているように見え、状態が変更されるたびにコントローラーが元のデータをリロードする必要があることがわかります。データを一度だけロードする方法はありますか?
services.js
customerController.js
javascript - AngularJS を使用して解決済みの promise をすぐに返す
私は、JavaScript (特に AngularJS) の約束について頭を悩ませようとしています。
私はサービスに関数を持っています。それを呼び出しましょうfooService
。これは、データをロードしたかどうかをチェックします。もしそうなら、私はそれを返したいだけです.そうでない場合は、データをロードしてpromiseを返す必要があります:
次のようなupdate
関数を呼び出す別の関数があります。fooService
ここでの問題は、関数にデータをロードする必要がない場合update
、プロミスが返されないため.then()
、他の関数で呼び出されないことです。ここでのアプローチはどうあるべきですか - 基本的にupdate()
、Restangular 呼び出しからデータを取得する必要がない場合、解決されたプロミスを関数からすぐに返したいですか?
angularjs - $http と promises と POST
次のようなコードを指定します。
返されたプロミスで .then() を呼び出すと、次のようになります。
適切な .success() および .error() コールバックからの戻り値が .then() コールバックに渡されること。
ただし、期待する動作が見られません。 GET を使用すると、期待どおりに動作します。POST では、それほど多くはありません。通常の deferred \ promise のように動作するはずであるという私の仮定は正確ですか? どこに文書化されていますか (ソース以外)
javascript - サービスにおけるAngular promiseの応答に関する問題
初めてAngular 1.2.18を使用しています。Rails 3.2とcoffeescriptで使用しています。サービスでプロミスを使用してデータをフェッチし、それを使用してテンプレートに入力しようとしています。私のコードは次のようになります。
これを実行しようとすると、「未定義は関数ではありません」というメッセージが表示され、有用なスタック トレースが表示されません。どの部分が未定義なのかわかりません。config() でこれを行うことを考えましたが、 $http.get(url) の URL が実行時までわかりません。これを「角度のある方法」で行うためのヘルプやアドバイスをいただければ幸いです。
javascript - 関数の戻り値が angularjs の約束を待たない
angularjs の約束について問題があります。誰かが私を正しい方向に向けることができるかもしれません。コントローラーに検証関数があり、すべてが良好な場合は true を返し、問題がある場合は false を返します。シングル ページ アプリはこの前提で動作するため、この前提を簡単に変更することはできません...
最近要件が変更されるまで、すべてが正常に機能していました。サーバーをチェックして、以前にシステムで id 値が使用されていたかどうかを確認しようとしています。したがって、サーバーへの非同期呼び出しを行って確認する必要があります。 $scope.scopeData.customer.checkForDuplicateIdentity() メソッドを使用し、非同期呼び出しが機能することを約束していることがわかります。
私が持っている唯一の問題は、非同期呼び出しが完了する前に customerValidation メソッドが終了し、常に false を返すことです。つまり、
return isValidated 行は常に isValidated が true になる前に実行されます。
外部の return ステートメントを非同期呼び出しの完了まで待機させることはできません。内部関数から isValidated を返すと、customerValidation 関数に値が返されません。誰かがこれを達成する方法を教えてもらえますか?
javascript - angularjs でプロミスをモックする
angular promise をモックしようとしましたが、 undefined is not a function Evaluation 'spyOn' fileUploadService のようなエラーが発生しました
私のコントローラーコードは
サービスコード、コントローラーからこのメソッドを呼び出します
テスト コントローラー コード
ありがとう
javascript - AngularJS の $http サービス
私は AngularJS を初めて使用し、練習用の WebApp をまとめようとしています。以前のバージョンの My App では、単一のコントローラーがあり、$httpサービスを使用して JSON ファイルからデータを取得していました。
$httpサービスは正常に機能しました。その後、進行するにつれて、複数のコントローラーがあり、コントローラー間でデータを共有するために、$httpサービスを次のようにファクトリに移動しました
そして、ここにHTMLがあります
$http Service をFactoryに移動した後、何らかの理由でデータが表示されない理由がわかりません。何が間違っているのでしょうか。コンソールにエラーは表示されません。