gpt4 book ai didi

javascript - Angular.foreach 异步回调不起作用

转载 作者:行者123 更新时间:2023-12-03 23:48:23 25 4
gpt4 key购买 nike

我正在尝试检测 foreach 语句是否与 foreach 内的语句一起完成。根据我的研究,许多人要求使用 promise 。当我实现它时,它并没有按照我预期的方式执行。

var uploadUrl = "/api/upload";
$('#add_product').closeModal();
var promises = angular.forEach(vm.images_selected, function(value , key){
return File_Upload.uploadFileToUrl(value, uploadUrl)
.success(function(result){
vm.images_selected_uploaded.push(result);
console.log('here')
});
})
$q.all(promises).then(function () {
console.log('there')
console.log(vm.images_selected_uploaded)
})

从上面的代码(假设值长度为 2,输出将是

there
here
here

我真正想要的是这里这里那里。我在这里缺少什么?

最佳答案

第一个问题,angular.forEach 返回对第一个参数的引用,因此它们不会是您正在寻找的 promise

第二个问题,angular 没有替代 .map 的下降

如果将promise保存在promises数组中,就可以这样做

var uploadUrl = "/api/upload";
$('#add_product').closeModal();
var promises = [];
angular.forEach(vm.images_selected, function(value , key){
promises.push(File_Upload.uploadFileToUrl(value, uploadUrl)
.success(function(result){
vm.images_selected_uploaded.push(result);
console.log('here')
})
);
})
$q.all(promises).then(function () {
console.log('there')
console.log(vm.images_selected_uploaded)
});

关于javascript - Angular.foreach 异步回调不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34174944/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com