我正在尝试将Anglular.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);
}
答案 0 :(得分:0)
基本上你需要像这样处理回调中的值:
myService.addon_dependencies(arr[i]['addoncode']).then(function(dependency) {
addons.push(dependency);
});
的更新强> 的
由于函数then()
的回调是异步的,因此无法保证console.log(addons)
在代码顺序中显示任何内容。