拥有以下代码:
var test1 = function(param){
verify(callback);
}
var callback = function(){
console.log(param);
}
var verify = function(inside){
inside();
}
test1('I am the param');
如何在回调中提供param
的可用值,因此控制台输出将是“我是参数”;
如果我使用匿名函数而不是callback
,那么它可以工作:
var test1 = function(param){
verify(function(){
console.log(param);
});
}
var verify = function(inside){
inside();
}
test1('I am the param');
答案 0 :(得分:2)
问题是callback
函数不知道param
的值。
您可以单独传递param
来修复它。
var test1 = function(param1){
verify(callback, param1);
}
var callback = function(param3){
console.log(param3);
}
var verify = function(inside, param2){
inside(param2);
}
test1('I am the param');
答案 1 :(得分:1)
我会为返回函数的回调做一个装饰器。在上下文中找到解决方案有点困难。但我会尝试一个例子
var test1 = function(param){
verify(callback(param));
}
var callback = function(param){
return function(){
console.log(param);
}
}
var verify = function(inside){
inside();
}
test1('I am the param');