【发布时间】:2018-05-29 14:10:48
【问题描述】:
我有两个文件
server.js
(function () {
var x = modules.dbFind('7');
setTimeout(function() {
console.log(x);
}, 100);
})();
还有我的 modules.js
var dbFind = (id) => {
console.log("dbFIND function in use!");
MongoClient.connect(url, function(err, db) {
if (err) throw err;
db.collection("users").findOne({id:id}, function(err, result) {
if (err) throw err;
console.log(JSON.stringify(result));
return(result);
db.close();
});
});
};
我想将 RESULT 从模块传递到服务器文件并在那里读取它,但 x = undefined。 modules.js 中的结果 - console.log(result) 如我所愿显示。
我知道问题在于在结果到达之前读取 X - 但我已经尝试了几天,但我不知道如何解决它。
【问题讨论】:
-
您应该使用异步等待来获取值 x。当你分配了
x值时,dbFind 没有完成。