我正在尝试将 Promise.all() 函数与我链接多个承诺的 for 循环结合使用。当我完成迭代并且每次迭代时,我的所有承诺都已解决,我希望 Promise.all() 触发。
在下面你可以找到我的代码。根据我在其他论坛上读到的内容,我尝试将我的承诺推送到一个数组,然后在“Promise.all()”函数中使用该数组。当我成功完成“createrows”函数时,我希望我的承诺能够实现,但是即使在我的 creatrows 函数执行之前,promise.all() 也已经实现。
有谁知道我可能做错了什么或者我对 Promise 框架有哪些误解?
for (i in scheduledRunsObjValue) {
promisearray.push(
getpropertiesObject(i,scheduledRunsObjValue).then(
propertiesObj=>{
utcDate=propertiesObj['startTime'];
localDate=new Date(utcDate);
const trackingid=propertiesObj['correlation']['clientTrackingId'];
returnhttpinputobjectforworkflow(bearertoken,trackingid).then(HttpInputObject=>{
ReturnInputHttpRequestData(HttpInputObject).then(HttpRequestData=>{
createrows(HttpRequestData,scheduledRunsHTML,i,localDate,propertiesObj,trackingid,scheduledRunsObj).then(htmldoc=>{
scheduledRunsHTML=htmldoc;
resolve(scheduledRunsHTML);
})
})
})
})
);
}
Promise.all(promisearray).then(values=>{
resolve(scheduledRunsHTML);
})