我有以下代码的多个;我该如何结合所有这些?因为在$ http之外无法访问$ scope.mydata甚至全局var mydata。
$http({
url: "php/mainLoad.php",
method: "GET",
params: {"userId":"1"}
}).success(function(data, status, headers, config) {
$scope.mydata = data;
mydata = data;
}).error(function(data, status, headers, config) {
// $scope.status = status;
alert(status);
});
答案 0 :(得分:0)
使用承诺。 $ http是一个承诺,就像$ q对象一样。首先注入$ q,然后执行:
call1 = $http ({});
call2 = $http ({});
call3 = $http ({});
$q.all ([call1, call2, call3])
.then(function(response) {
responseFromFirstCall = response[0];
responseFromSecondCall = response[1];
responseFromThirdCall = response[2];
}, function(errResponse) {
firstErrorResponse = errResponse;
});
.then(function...
中的函数只有在解析了所有调用(promises)时才会触发。如果任何一个呼叫被拒绝,第二个函数将调用,而errResponse将是第一个拒绝呼叫的响应。第二个参数,即。第二个功能是可选的。