gpt4 book ai didi

javascript - 如何在 JavaScript 中组装异步请求的结果

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

好的,所以需要构建一个消息数组。我有一个数据库表,其中包含依赖于另一个表的消息信息。我可以 promise 提取结果,但是当我迭代结果中的行时,我无法将它们保持在一起。

let messages = [];

dbOps.getAll(dbCon, "expo_outbox")
.then(function(rows){

// iterate for each message
for (var i = 0; i < rows.length; i++){
mobileMessage = rows[i];

dbOps.getById(dbCon, mobileMessage.mobile_device_id, "mobile_devices")
.then(function(mobileDevice) {
regKey = mobileDevice.reg_key;
console.log(` reg key ${regKey} gets ${mobileMessage.message}`);
messages.push({
to: regKey,
sound: 'default',
body: mobileMessage.message
})
})
}

如何组装这个消息数组并让自己能够在知道它已完成后台请求的情况下对其进行操作?谢谢...

最佳答案

您可以使用Promise.all:

const promises = [
new Promise(resolve => setTimeout(resolve, 0, 1)),
new Promise(resolve => setTimeout(resolve, 0, 2))
];
Promise.all(promises)
.then(data => {
console.log("All promises resolved!", data);
})
.catch(err => {
console.log("Error executing promise");
});

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/all

关于javascript - 如何在 JavaScript 中组装异步请求的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48271512/

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