微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决为什么我的 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 举报,一经查实,本站将立刻删除。