[英]The context of this in a callback function
我正在处理一个 API ,它是实例上的一个方法,它返回一个回调 function
myPlayer.onPlay(function() {
console.log(this)
})
现在我希望它的上下文是播放器,但它不是回调 function。 我曾尝试像这样绑定 this 的上下文,但它也不起作用。
我希望这是 myPlayer 因为那是执行 onPlay function 的上下文?
myPlayer.onPlay(function() {
console.log(this)
}).bind(this)
我如何让上下文成为玩家的实例? 我错过了什么吗?
你必须做
myPlayer.onPlay(
function() {
console.log(this);
}.bind(myPlayer)
);
由于您没有提供.onPlay
将返回的内容,我认为它不会使用bind
方法返回 object 。 所以你必须在 function 本身上使用bind
。 如果您希望它成为myPlayer
,则不能在绑定中使用this
,因为在您当前的调用 scope 中, this
并不意味着什么。 它可能意味着什么,但很可能不是玩家,否则你会这样做this.onPlay
。 您必须将myPlayer
与bind
,而不是this
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.