gpt4 book ai didi

javascript - 循环中的Promise,循环后的代码不执行

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

我使用循环来查询事件,但循环后的代码未执行。为什么会出现这种情况以及如何解决这个问题?

router.post("/components/Pages/BrokerAPage/queryAll", (req, res) => {
var requestedResult;

for (i = 0; i < EventIDList.length; i++) {
queryEvent(EventIDList[i])
.then((result) => {
if (result) {
requestedResult += result;
}
})
.catch(err =>
res.send(JSON.stringify({ status: 'error', message: err.message})));
}
console.log("*************TEST************")
console.log("*************"+requestedResult+"*************")
res.json(JSON.stringify(requestedResult));
});

最佳答案

router.post("/components/Pages/BrokerAPage/queryAll", (req, res) => {
var requestedResult;
var promises = [];
EventIDList.forEach((EventID) => {
// gather all Promises
promises.push(queryEvent(EventID)
.then((result) => {
if (result) {
requestedResult += result;
}
}));
});
// wait till all promises are settled, then log result
Promise.all(promises).then(() => {
console.log("*************TEST************");
console.log("*************" + requestedResult + "*************");
res.json(JSON.stringify(requestedResult));
}).catch(err => res.send(JSON.stringify({
status: "error",
message: err.message
})));
});

关于javascript - 循环中的Promise,循环后的代码不执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49129345/

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