gpt4 book ai didi

javascript - 使用其上下文调用原始回调函数

转载 作者:行者123 更新时间:2023-12-03 01:56:33 24 4
gpt4 key购买 nike

我有这个代码:

function A() {
this.name = 'John';
}
A.prototype.getName = function() {
return this.name;
}

function B() {

}
B.prototype.callApi = function(cb) {
var context = arguments[0];
setTimeout(function() {
console.log('server data combine with ' + cb());
}, 1000);
}

var a = new A();
console.log(a.getName());

var b = new B();
b.callApi(a.getName);

我希望当执行 getName 时,this变量指向a对象。

问题是当 cb执行后,this不属于a instance .

最佳答案

您必须将 this 的范围绑定(bind)到 a:

b.callApi(a.getName.bind(a));

关于javascript - 使用其上下文调用原始回调函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50204773/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com