【发布时间】:2017-09-15 06:34:02
【问题描述】:
我在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)。
【问题讨论】:
-
当你在函数名后面加上括号时,它会调用它并将它的输出作为回调传递。试试
printEntitydetails.bind(null, error, entitydetails)
标签: javascript node.js express callback ecmascript-6