问题描述
我有两个函数,在第一个函数中我创建了一个 mongodb 实例并返回它。在第二个函数中,我在变量中捕获该返回值,但是当我打印它时,它显示未定义。 同样在另一个模块中,当我捕获 getDBInstance() 的返回值时,它会显示 promise{undefined}。如何解决此问题。
let instance,totalInstance = 0 ;
function connectToDatabase() {
try {
MongoClient.connect(DBURL,{ useNewUrlParser: true },{ useUnifiedTopology: true },(err,client) => {
console.log("trying to connect to DB");
let instance = client.db(dbnAME);
console.log("Connected to " + dbnAME + " database");
return instance;
});
}
catch (err) {
console.log("Error occured while connecting to db " + err);
}
}
async function getDBInstance() {
console.log("total instance till Now =" + totalInstance);
try {
if (totalInstance !== 0) {
console.log("returning old db instance");
return instance;
}
else {
totalInstance++;
instance = await connectToDatabase();
console.log(instance); //undefined
return instance; //it return promise{undefined}
}
}
catch (err) {
console.log("Error while checking instance and making
instance " + err);
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)