0

我正在尝试将 Angular.js 服务回调中的值推送到数组中。任何帮助,将不胜感激。谢谢。

$scope.checkAddonDependencies = function(addon) {
    var addons = new Array();
    var arr = filterFilter($scope.addons, {checked: true});
    var length = arr.length, element = null;

    for (var i = 0; i < length; i++) {
        element = arr[i]['addoncode'];
        addons.push(element); //works fine

        myService.addon_dependencies(arr[i]['addoncode']).then(function(dependency) {
             addons.push(dependency); //not working
        });

    }

    console.log(addons);    
}
4

1 回答 1

0

基本上你需要像这样处理回调中的值:

myService.addon_dependencies(arr[i]['addoncode']).then(function(dependency) {
    addons.push(dependency); 
});

更新

由于函数的回调then()是异步的,所以不能保证console.log(addons)在代码顺序中显示任何内容。

于 2013-08-12T19:39:47.497 回答