Node.js异步/等待未按预期等待

时间:2019-08-07 01:14:17

标签: node.js async-await

我正在尝试在app.js中调用异步函数以初始化参数(从AWS提取配置,连接到数据库等)

这是进行初始化的init.js

const fs = require('fs');
var params_path = process.argv.slice(2);
const paramdata = JSON.parse(fs.readFileSync(params_path[0]));


module.exports.initApp = async function()
{
    // Retrieve the configuration parameters from AWS
    const aws = await require('./util/configparams').AWS(paramdata);
}

这是configparams.js

async function AWS(params)
{
        awscredentials = new AWSCredentials(params);
        await awscredentials.initWalletParams();
        await awscredentials.initDbParams();

        return awscredentials;
}

initWalletParamsinitDbParams是具有async条语句的await函数。

然后这就是我的app.js,我将其称为init:

(async() => {
    init = require('./init');
    await init.initApp();
})();

执行到达initApp()并转到await awscredentials.initWalletParams();函数,但它不在那里等待。 当我自己运行init.js时,执行会按预期顺序进行,但在app.js await中调用并没有按预期等待。 有人可以帮忙弄清楚吗? 谢谢。

0 个答案:

没有答案