nodejs中module.export为一个异步返回结果时该怎么做?

在用mongodb的过程中我遇见了如下问题a.js代码:
varMongoClient=require('mongodb').MongoClient;
MongoClient.connect('mongodb://localhost:27017/local',function(err,db){
//Usetheadmindatabasefortheoperation
varadminDb=db.admin();
//Listalltheavailabledatabases
adminDb.listDatabases().then(function(dbs){
varresult=[];
dbs.databases.forEach(function(element,index){
result.push(element.name);
})
db.close();
module.exports=result;
});
});
我在另外一个文件中引入b.js代码:
vardata=require("a.js");
console.log(data);///这时data始终为{}因为a.js中的module.exports还未返回
我想到得做法就是把a中的文件封装成一个函数,在b中引入再调用,比如:b.js代码:
vardata=require("a.js")();
console.log(data);
但是这样每次require时都要调用这个函数,感觉好不爽,有什么办法解决上面的问题么?
aluckdog
浏览 1881回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript