如何在javascript中汇编异步请求的结果

如何在javascript中汇编异步请求的结果,javascript,asynchronous,Javascript,Asynchronous,好的,所以需要构建一个消息数组。 我有一个数据库表,其中包含依赖于另一个表的消息信息。我可以带着一个承诺拉取结果,但是当我迭代结果中的行时,我不能将它们放在一起 let messages = []; dbOps.getAll(dbCon, "expo_outbox") .then(function(rows){ // iterate for each message for (var i = 0; i < rows.length; i++){ mobileMessage =

好的,所以需要构建一个消息数组。 我有一个数据库表,其中包含依赖于另一个表的消息信息。我可以带着一个承诺拉取结果,但是当我迭代结果中的行时,我不能将它们放在一起

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
           })
    })
}
let messages=[];
dbOps.getAll(dbCon,“世博会发件箱”)
.then(函数(行){
//对每条消息进行迭代
对于(变量i=0;i

如何组装此消息数组并使自己能够在它已完成后台请求的情况下对其进行操作?谢谢…

您可以使用
承诺。所有

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");
    });

好的,我仍然不知道如何遍历这些行来构建承诺列表。谢谢你的帮助,顺便说一句,让承诺=[];rows.forEach(函数(row){promises.push(dbOps.getById(dbCon,row.mobile_device_id,“mobile_devices”);