猿问

关于Promise中this的指向问题?

代码
classDog{
constructor(){
this.name='adong';
}
start(){
this.p().then(this.say);
}
p(){
returnnewPromise((resolve,reject)=>{
resolve('good');
})
}
say(str){
console.log(this);
console.log(this.name+str);
}
}
letdog=newDog();
dog.start();
题目描述
say方法单独调用时没有问题的,但是在Promise的then里面再调用this就变为undefined了,哪个大神帮忙分析一下,谢谢!
错误显示
undefined
(node:5784)UnhandledPromiseRejectionWarning:TypeError:Cannotreadproperty'name'ofundefined
atsay(D:\NodeJS\Test\test2.js:18:22)
ITMISS
浏览 1583回答 2
2回答
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答