AngularJSで、画面に商品コードの入力欄があります。
商品コードを入力すると、サーバーに$httpリクエストし、商品マスタにデータが存在する場合のみチェックokとしたいと考えております。
そこで、将来的に汎用的に使うことを考慮し、マスタ存在チェック関数を作り、その戻り値(boolean)で判定するようにしました。
しかしながら、$httpは非同期通信であるため、当然のことながら、callback関数の処理を待たずに、関数がリターンされてしまいます。
イメージは以下のとおりです。
lang
1$scope.validGoods = function(value) { 2 var result = false; 3 4 $http({ 5 method: "jsonp", 6 url: "http://.../master/getGoods", 7 params: { 8 goodsCode: value, 9 callback: "JSON_CALLBACK", 10 }, 11 }) 12 .success(function(data, status) { 13 $scope.goods = data.goods; 14 }); 15 16 // $httpのの結果をresultにセットしたい 17 return result; 18};
$httpの部分を同期処理にできないものでしょうか。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2014/10/20 03:04