Node.js 连接到MongoDB时,应在arrow函数末尾返回一个值

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错误:

[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);
    });
  };

谢谢我就知道是这样的小事!