gpt4 book ai didi

javascript - 在循环中解决所有 promise 后返回值

转载 作者:行者123 更新时间:2023-11-30 17:02:29 25 4
gpt4 key购买 nike

给定这个 ID 数组:

var array = [1,2,3,4,5];

在循环中进行的所有其他调用完成后,我如何返回 promise ?

            var deferred = $q.defer(),
result = [];

for (var i = 0; i < array.length; i++) {
var id = array[i];

Tools.remove(campaignID).then(function(result) {
result.push(result.id);
}).catch(function (response) {
result.push(response)
});
}

deferred.resolve(result);

return deferred.promise;

最佳答案

您正在寻找等待一系列 promise 的 $q.all

我会这样做:

return $q.all(array.map(Tools.remove)).then(function(results){
return results.map(function(result){ return result.id; });
});

其他答案实现了您从 JavaScript 或 promises 中免费获得的东西 - 而且大部分都有 anti-patterns .

您只需将每个项目映射到 Tools.remove,等待它 - 获取 ID 并返回它们。

关于javascript - 在循环中解决所有 promise 后返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28601985/

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