0

我被困在为什么这个数组推送不起作用......任何帮助表示赞赏。

    var addons = new Array();

    myService.addon_dependencies(arr[i]['addoncode']).then(function(dependency) {
        console.log(dependency[0].addon_depend);  //returns A6002
        addons.push(dependency[0].addon_depend);
    });

    console.log(addons); //returns []   
4

3 回答 3

5

这是因为 addon_dependencies 方法在你运行之前没有完成console.log。该then方法表明您可能正在使用某种承诺框架。如果您将其打印在then块中,它应该可以工作。

于 2013-08-12T20:44:51.033 回答
1

Array.push正在工作中; 您的代码必须异步执行,因此为空的addons.

于 2013-08-12T20:44:15.923 回答
0

console.log(addons) 在项目被推入数组之前执行。所以你看到了空数组。将新项目推送到其中后,请尝试使用 console.log。

于 2013-08-12T20:45:16.427 回答