私は2つのjavscript async $ http funtionsを持っています。これは、テーブルを動的に作成するネストされた方法で角度jを使用しています。
私はこれらの機能を同期して実行する方法をいくつか求めています。
今のところ、jループはresultBの初期値に対してのみ実行されます。テーブルがコンパイルされると、fuctBはiのすべての値に対して実行されます。
$scope.funcA = function() {
$http({
method : 'GET',
url : url,
}).then(function successCallback(response) {
$scope.resultA = response.data;
//process based on $scope.resultA
for (var i = 0; i < $scope.resultA .length; i++){
$scope.funcB($scope.resultA[i][0]);
for(j=0; j<$scope.resultB .length; j++){
//process based on $scope.resultB
}
}
$compile(/* document element*/);
}, function errorCallback(response) {
console.log(response.statusText);
});
}
$scope.funcB = function(k){
$http({
method : 'GET',
url : url+k
data: k ,
}).then(function successCallback(response) {
return $scope.resultB = response.data;
}, function errorCallback(response) {
console.log(response.statusText);
});
}
完全なコードで更新してください。あなたが何をしようとしているか診断できません。 – Aravind
は質問を更新しました – rtk
読みやすくするためにコードを整理しました。このコードの非同期操作を定義しました。あなたは同じ方法で同期を定義できますか? – rfornal