我已经定义了2个函数,并从另一个函数中调用了一个函数。结果始终为空
var abc = (req,callBack) => {
DB Operation
.
.
.
.
console.log(result);
callBack(null,result);
}
var def = (req, callBack) => {
abc(req,(response) => {
callBack(null,result);
});
}
console.log打印实际结果,但函数def的callBack始终返回null。我在这里想念的是什么。
答案 0 :(得分:0)
我只是忘了在函数中添加错误。
var abc = (req,callBack) => {
DB Operation
.
.
.
.
console.log(result);
callBack(null,result);
}
var def = (req, callBack) => {
abc(req,(err, response) => {
if(err){
callBack({
error:'Oops Something went wrong'
});
}else{
callBack(null,result);
}
});
}
答案 1 :(得分:0)
您的回调功能应具有正确数量的参数。 因此,如果您具有回调(parameter1,parameter2),那么您应该会收到类似 function(parameter1,parameter2)
的结果function foo(callback) {
**DB operation
callback(err, response);
}
function bar() {
foo(function(err, response) {
// do stuff here
})
}
另一件事,您可以在调用它们之前检查您的回调是否为函数。
if (typeof callback === "function")