gpt4 book ai didi

javascript - 使用 promise 和 'this' 上下文调用对象方法

转载 作者:行者123 更新时间:2023-11-29 19:26:29 26 4
gpt4 key购买 nike

<分区>

据我了解,在 Javascript 对象中,this 关键字不是通过声明定义的,而是通过调用定义的。所以我想知道我们如何才能避免以下问题:

var testObject = function(){
this.foo = "foo!";
};

testObject.prototype.sayFoo = function() {
console.log(this.foo);
};

var test = new testObject();
test.sayFoo(); //Prints "!foo"

new Promise(function(resolve, reject){
resolve();
}).then(test.sayFoo); //Unhandled rejection TypeError: Cannot read property 'foo' of undefined

是:

new Promise(function(resolve, reject){
resolve();
}).then(function(){
test.sayFoo();
});

唯一的解决方案?

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