我收到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);
}
MongoClient.connect(process.env.MONGO_URL, { useNewUrlParser: true }, (err, client) => {
if (err) {
return callback(err);
}
db = client.db('partsync');
return callback(null, db);
});
};
答案 0 :(得分:1)
您在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);
});
};