我有一个node.js文件,如下所示:
var express = require('express');
var app = express();
var mongoClient = require('mongodb').MongoClient;
app.get('/',(req, res)=>{
console.log(connectDB());
res.send('get works');
})
app.listen(3000,(err)=>{
if (err) {
console.log(err);
}else{
console.log('Connected to server @: 3000');
}
})
function connectDB(){
{
mongoClient.connect(url,{ useNewUrlParser: true },(err, client)=>{
if(err){
return false;
}else{
return true;
}
})
}
}
我的问题是connectDB()返回'undefined'。如果有错误,则应该返回false否则为true,但是会发送undefined。为什么会这样?
答案 0 :(得分:0)
尝试一下:
(async function() {
try {
const client = await MongoClient.connect(uri,{ useNewUrlParser: true });
// ... anything
client.close();
} catch(e) {
console.error(e)
}
})()