我正在使用此代码:

$http.get('/api/users').
success(function(data) {
    $scope.authors = data;
}).
error(function() {
    console.log('API error - config.')
});


在下面的某处(很多波纹管):

for (var i = 0; i < $scope.authors.length; i++) {
    ...
};


有时会发生$scope.authors尚不可用的情况。有什么办法解决这个问题?

更新

这是整个块结构:

// author

$http.get('/api/users').
success(function(data) {
    $scope.authors = data;
    processAuthors();
}).
error(function() {
    console.log('API error - config.')
});

// if updating form

$scope.$on('$routeChangeSuccess', function() {
    if($routeParams.id) {

        $http.get('/api/offers/' + $routeParams.id).
        success(function(data) {

            // author

            function processAuthors() {
                for (var i = 0; i < $scope.authors.length; i++) {
                    if($scope.authors[i].email == data.author.email) {
                        $scope.author = $scope.authors[i];
                    };
                };
            }

最佳答案

将循环放入成功部分:

$http.get('/api/users').
success(function(data) {
    $scope.authors = data;
    for (var i = 0; i < $scope.authors.length; i++) {
       ...
   };
}).
error(function() {
    console.log('API error - config.')
});

关于javascript - AngularJS:$ http响应太慢,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31674486/

10-09 22:23