我正在尝试在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;
}
initWalletParams
和initDbParams
是具有async
条语句的await
函数。
然后这就是我的app.js
,我将其称为init:
(async() => {
init = require('./init');
await init.initApp();
})();
执行到达initApp()
并转到await awscredentials.initWalletParams();
函数,但它不在那里等待。
当我自己运行init.js
时,执行会按预期顺序进行,但在app.js
await
中调用并没有按预期等待。
有人可以帮忙弄清楚吗?
谢谢。