为什么`func`在node.js中不是函数?

时间:2018-08-07 04:32:47

标签: node.js mongodb

我正在学习mongodb,并且在书中有一个代码

const MongoClient = require('mongodb').MongoClient;
const url = "mongodb://127.0.0.1:27017/testdb";
module.exports = function (func) {
  MongoClient.connect(url, function(err, db) {
    if (err) throw err;
    else {
      console.log("connected");
      func(db);
      db.close();
    }
  });
};

我运行了这段代码,但是抛出了错误TypeError: func is not a function,我用google搜索了一下,但是很多这样的代码,我的mongodb版本是4.0,而node.js版本是9.10,有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您传递的func都必须是一个函数。

const MongoClient = require('mongodb').MongoClient;
const url = "mongodb://127.0.0.1:27017/testdb";
module.exports = function (func) { //func must be function, dont pass just a variable
  MongoClient.connect(url, function(err, db) {
    if (err) throw err;
    else {
      console.log("connected");
      func(db);
      db.close();
    }
  });
};