首页 > 解决方案 > 嵌套for循环中的node.js等待失败

问题描述

我有一些异步函数需要在嵌套的 for 循环中工作,但如果它不在第一个 for 循环或基本级别函数中,则 await 会失败。

我尝试在 for 循环的级别上下移动我的 await,发现在第一个 for 循环之后,它失败了。

有什么建议我应该尝试吗?

async function Func2() {
    //DO ASYNC STUFF
};

async function Func3() {
    //DO ASYNC STUFF
};

async function Func1() {
    var Data = await Func2();             //THIS AWAIT WORKS
    for (var X1 = 0; X1 <= 10; X1++) {
                                          //AWAIT WOULD WORK HERE
        Object.keys(Data[0]).forEach(function (key2) {
                                          //BUT NOT HERE.
            Object.keys(rows).forEach(function (key) {
                var Data = await Func3(); //THIS AWAIT ERRORS: "await is only valid in async function"
            });
        })
    };
}

Func1();

标签: node.jsasync-await

解决方案


推荐阅读