Node.js 连接到MongoDB时,应在arrow函数末尾返回一个值
我得到了eslint错误:Node.js 连接到MongoDB时,应在arrow函数末尾返回一个值,node.js,eslint,Node.js,Eslint,我得到了eslint错误: [eslint] Expected to return a value at the end of arrow function. [consistent-return] 我已经检查过了,每个路径都有一个return语句。但我觉得我的回调函数在循环 代码如下: let db; module.exports.initDb = (callback) => { if (db) { return callback(null, db); } Mo
[eslint] Expected to return a value at the end of arrow function. [consistent-return]
我已经检查过了,每个路径都有一个return语句。但我觉得我的回调函数在循环
代码如下:
let db;
module.exports.initDb = (callback) => {
if (db) {
return callback(null, db);
}
MongoClient.connect(process.env.MONGO_URL, { useNewUrlParser: true }, (err, client) => {
if (err) {
return callback(err);
}
db = client.db('partsync');
return callback(null, db);
});
};
在MongoClient.connect回调中有正确的return语句,但需要为父箭头函数initDb返回。在MongoClient.connect之前添加return语句将解决此问题。以下是更新的代码:
let db;
module.exports.initDb = (callback) => {
if (db) {
return callback(null, db);
}
return MongoClient.connect(process.env.MONGO_URL, { useNewUrlParser: true }, (err, client) => {
if (err) {
return callback(err);
}
db = client.db('partsync');
return callback(null, db);
});
};
谢谢我就知道是这样的小事!