为什么我的 Promise.all() 在我的 Promise Chain 尚未完成时触发

问题描述

我正在尝试将 Promise.all() 函数与我链接多个承诺的 for 循环结合使用。当我完成迭代并且每次迭代时,我的所有承诺都已解决,我希望 Promise.all() 触发。

在下面你可以找到我的代码。根据我在其他论坛上读到的内容,我尝试将我的承诺推送到一个数组,然后该数组将在“Promise.all()”函数中使用。当我成功完成“createrows”函数时,我希望我的承诺能够实现,但是 promise.all() 甚至在我的 creatrows 函数执行之前就已经实现了。

有谁知道我可能做错了什么,或者我对 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);
        })

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)