【发布时间】:2020-05-09 11:39:38
【问题描述】:
我有服务器文件和 db.js 文件(连接到 db)。在exports.connect 中,我使用带有'done' 参数的函数(它是回调函数)。但是“完成()”不起作用,并在控制台中写入错误“完成不是函数”。 我能做些什么? server.js:
let db = require("./db");
let MongoClient = require("mongodb").MongoClient;
let ObjectID = require("mongodb").ObjectID;
app.listen(3164, function() {
console.log("API app started");
});
db.connect("mongodb://localhost:27017",{useUnifiedTopology: true,useNewUrlParser: true},err => {
if (err) {
console.log(err);
}
});
db.js:
let MongoClient = require("mongodb").MongoClient;
let state = {
db: null
};
exports.connect = function(url, done) {
if (state.db) {
return done();
}
MongoClient.connect(url, { useUnifiedTopology: true }, function(err, db) {
if (err) {
return done(err);
}
state.db = db;
done();
});
};
exports.get = function() {
return state.db;
};
控制台日志:TypeError: done 不是函数
在 /home/bukrole/db.project/db.js:16:5
【问题讨论】:
标签: node.js