gpt4 book ai didi

node.js - 如何处理循环中的 promise ?

转载 作者:搜寻专家 更新时间:2023-10-31 22:32:25 25 4
gpt4 key购买 nike

这是我想做的

var response = [];

Model.find().then(function(results){
for(r in results){
MyService.getAnotherModel(results[r]).then(function(magic){
response.push(magic);
});
}
});

//when finished
res.send(response, 200);

但是它只返回 [] 因为异步的东西还没有准备好。我正在使用使用 Q promise 的 sails.js。任何想法如何在所有异步调用完成后返回响应?

https://github.com/balderdashy/waterline#query-methods ( promise 方法)

最佳答案

因为水线使用Q,你可以使用allSettled方法。
你可以找到more details on Q documentation .

Model.find().then(function(results) {
var promises = [];
for (r in results){
promises.push(MyService.getAnotherModel(results[r]));
}

// Wait until all promises resolve
Q.allSettled(promises).then(function(result) {
// Send the response
res.send(result, 200);
});
});

关于node.js - 如何处理循环中的 promise ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20706379/

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