我在nodejs中定义了两个简单的函数:
function findEntityDetailsAsIs(modelname, callback) {
modelname.find({}, function(error, result) {
if (error)
callback (error, null);
else {
//console.log(result);
callback (null, result);
}
});
};
这是我的第一个功能,另一个功能是
function printEntitydetails(error, entitydetails, callback) {
console.log(entitydetails);
}
我试图将这些功能称为
findEntityDetailsAsIs(fieldLabel, printEntitydetails(error, entitydetails));
但是当我尝试运行此函数时,它会抛出错误
ReferenceError: error is not defined
但错误就像我从回调传递的占位符对象一样。
findEntityDetailsAsIs(fieldLabel, printEntitydetails(entitydetails));
我尝试在通话中跳过错误,但这次它会出现此错误。
ReferenceError: entitydetails not is not defined
据我所知,findEntityDetailsAsIs
应提供entitydetails
的背景信息,因为我提供了callback(null, result)
。
答案 0 :(得分:3)
你的函数findEntityDetailsAsIs
期望得到回调函数,而不是它的执行结果
您只需要提供函数名称:
findEntityDetailsAsIs(fieldLabel, printEntitydetails);
当您按照自己的方式运行时,会传递findEntityDetailsAsIs
printEntitydetails
的结果而不是函数本身。由于该函数不返回任何内容,因此未定义