我有以下全局变量并尝试使用不同方法进行更新
var companyName;
在此方法中,我获取公司名称,并且能够在终端
中打印companyNamevar once = async function(myDB) {
if(once.done) return;
companyName = await myCacheData.defaultCompany();
console.log('Company inside once :' + companyName);
};
在这种方法中,我试图获取更新的公司名称,哪一个在once()
侧功能中更新。但是当我尝试在终端中打印时,它显示undefined
。
db.dbConnect(function (err) {
if (err) {
process.exit(1)
}
else {
myDB = db.getDBConnection();
app.myDB = myDB;
once(myDB);
console.log('Company inside db call :' + companyName);
}
});
答案 0 :(得分:1)
尝试改变这个:
once(myDB);
console.log('Company inside db call :' + companyName);
到:
once(myDB).then(v=>console.log('Company inside db call :' + companyName)).catch(v=>console.log('error',v))
因为once(myDB)
为async
并返回promise
,您可以将回调放入promise.then(v=>/*your callback*/)