是否可以使用闭包或函数绑定将自身函数作为函数内部回调的参数传递?
我使用了一些代码来更好地解释我想要实现的目标。
x: function(a, b, c){
if(certain conditions not met){
y(pass function x as argument along with arguments a,b,c for callback);
}
//blah blah
}
y: function(callbackFunc){
//do some stuff
//then execute callback function
callbackFunc();
}
答案 0 :(得分:1)
您可以将x
定义为命名函数,在if
条件下设置标志以确定是否传递x
或调用x
以防止递归调用{{ 1}}和y
;使用x
将Function.prototype.bind()
设置为当前或其他对象,this
处的备用标记,使用y
调用x
以访问传递给{{1}的原始参数};可选地将其他参数传递给y
。
x
答案 1 :(得分:0)
你可以尝试
x: function(a, b, c){
if(certain conditions not met){
this.y(this.x, a,b,c);
}
//blah blah
}
y: function(callbackFunc,a1,b1,c1){
//do some stuff
//then execute callback function
callbackFunc(a1,b1,c1);
}
我写过a1,b1,c1只是为了区分,你可以用a,b,c