mgr*_*ier 2 javascript callback
这是我的困境,我有一系列被调用的函数,我使用回调来完成一个函数.回调返回一个值,这也很有效,我的问题是当我向回调添加参数时,我无法再访问返回的值.这是一个有效的例子:
function myFunc1(x, y) {
/*do stuff*/
myFunc2(z, callback);
}
function callback(results) {
alert(results); /*this works!*/
}
Run Code Online (Sandbox Code Playgroud)
这很好用,显示返回的结果.我的问题是我需要做的是这样的:
function myFunc1(x, y) {
/*do stuff*/
myFunc2(z, callback(x,y));
}
function callback(x,y,results) {
alert(x); /*works!*/
alert(y); /*works!*/
alert(results); /*doesn't work :(*/
}
Run Code Online (Sandbox Code Playgroud)
我需要一种方法来访问值返回以及我的参数.这样的事可能吗?
你可以Function.prototype.bind像这样使用
myFunc2(z, callback.bind(null, x, y));
Run Code Online (Sandbox Code Playgroud)
bind函数将返回一个新函数,第一个参数作为上下文,下一个参数是callback调用时传递给的实际参数.