【发布时间】:2021-01-18 12:02:00
【问题描述】:
我有一个 promises 数组:
let promises = [];
let teamsLooped = 0;
topTeams.teams.forEach(function(value){promises.push({id: value.teamId})});
我将该 promise 数组传递给这样的 API 函数,我需要在解析期间恢复 teamId,以便在保存文件时将输出分配给正确的团队:
Promise.all(promises.map(o => API.someFunction(o))).then((res) => {
let teamId = promises[teamsLooped].id;
teamsLooped++;
// Rest of the code
...
fs.writeFile("team "+ teamId +".json", JSON.stringify(statsExport), function(err) {
console.log("Graba team: ", teamId)
if (err) {
console.log(err);
}
})
}
所以现在我假设 .then() 方法将按照 promises 数组的顺序处理 API 输出。
我的问题是:假设由于所有承诺都已解决,代码将按照它们被传递的相同顺序(即承诺数组的顺序)循环遍历它们是否合理,或者是 .then() 代码按其他顺序处理?
【问题讨论】:
-
在客户端,一般会保留订单。请参阅:stackoverflow.com/questions/28066429/… 以获得很好的解释。
标签: javascript node.js promise