2 つのドロップダウンに入力する 2 つの個別の REST リソースを取得する必要があるコントローラーがあります。両方の $http.get() 呼び出しが返されるまで、どちらか一方にデータを入力することを避けたいので、ドロップダウンが次々に入力されるのではなく、同時に入力されているように見えます。
$http.get() 呼び出しをバンドルし、返された両方の配列の $scope 変数をエレガントに設定することはできますか?
2 つのドロップダウンに入力する 2 つの個別の REST リソースを取得する必要があるコントローラーがあります。両方の $http.get() 呼び出しが返されるまで、どちらか一方にデータを入力することを避けたいので、ドロップダウンが次々に入力されるのではなく、同時に入力されているように見えます。
$http.get() 呼び出しをバンドルし、返された両方の配列の $scope 変数をエレガントに設定することはできますか?
次のような意味ですか。
function someController( $scope, $http, $q ) {
var first_meth = $http.get("first_url"),
second_meth = $http.get("second_url");
$q.all([first_meth, second_meth]).then(function(all_your_results_array) {
//here you'll get results for both the calls
});
}
参照: Angular JS Doc
ここで Async javasscript ライブラリを使用できます: https://github.com/caolan/async。
シリーズ呼び出しを使用します。2 つの呼び出しを行い、両方が完了すると 1 つのコールバックを呼び出します。