我想做那样的事情:
callbackfunc=function(client, id, callback){
callbackfunc2({'id': id}, myfunc);
}
var myfunc = function(err,result){
callback(new Error("Ein Fehler"));
}
callbackfunc(client, 38373,function(err, data){
console.log("Here:"+data+" Error:"+err);
});
如何在myfunc中提供回调功能?我总是得到回调不是一个功能。如果我以他的方式写它是有效的。我不明白为什么当我有一个特殊功能时它不起作用。
callbackfunc=function(client, id, callback){
callbackfunc2({'id': id}, function(err,result){
callback(new Error("Ein Fehler"));
});
callbackfunc(client, 38373,function(err, data){
console.log("Here:"+data+" Error:"+err);
});
答案 0 :(得分:1)
如果您想在单独的函数中使用callback
,则必须:
myfunc
。或
myfunc
可用的范围内声明callback
。它适用于此示例:
callbackfunc=function(client, id, callback){
callbackfunc2({'id': id}, function(err,result){
callback(new Error("Ein Fehler"));
});
因为您在定义它的范围内调用callback
。记住函数参数只能在定义它们的函数块中使用。它们在该函数之外不可用,除非您将它们作为参数传递给其他范围,或者将它们分配给本身在不同范围内可用的其他变量。