为什么'func'不是node.js中的函数?
我正在学习mongodb,书中有一个代码为什么'func'不是node.js中的函数?,node.js,mongodb,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 { consol
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不是一个函数
,我在谷歌上搜索过,但是有很多这样的代码,我的mongodb版本是4.0,node.js版本是9.10,有什么想法吗 要传递的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();
}
});
};
听起来消费者并没有用函数调用它
module.exports(“非函数”)
可能会导致该错误。@user2864740它显示TypeError:module.exports不是函数
。在分配给module.exports
之后,在范围内。。然而,由于它是一个导出ta da,所以应该关注的是“消耗”模块的内容。这里有一个关于问题“是什么”的小程序,抛开其他一切:(函数(f){return f()})(“需要传递函数”)
。只有在调用“导出”函数的“whatever”提供了非函数参数时,才可以抛出此错误。@user2864740我发现,谢谢,我认为书中的代码是正确的,但事实并非如此。