多个$ http.get不起作用

时间:2015-07-07 22:18:53

标签: angularjs http get

从API端点引入多个数据时出现问题。 对于$ q.all方法

中的值,结果未定义
$http.get('url').success(function(data, status, headers, config) {
        $scope.data1= data;
    })
    $http.get('url').success(function(data, status, headers, config) {
        $scope.data2= data;
    })
    $http.get('url').success(function(data, status, headers, config) {
        $scope.data3= data;
    })
    $http.get('url').success(function(data, status, headers, config) {
        $scope.data4= data;
    })



    $q.all([$scope.data1, $scope.data2, $scope.data3, $scope.data4]).then(function(values) {
        $scope.data= values;
    });

1 个答案:

答案 0 :(得分:3)

$q.all需要一系列承诺,所以你必须做这样的事情。

$scope.promise1 = $http.get('url');
$scope.promise2 = $http.get('url');
$scope.promise3 = $http.get('url');
$scope.promise4 = $http.get('url');

$q.all([$scope.promise1, $scope.promise2, $scope.promise3, $scope.promise4]).then(function (values) {
    $scope.data = values;
});