【发布时间】:2016-12-12 22:46:05
【问题描述】:
我想在我的第二个承诺中引用一个类属性。然而,在类函数 pTwo 中,'this' 是未定义的。我知道我在承诺范围内,我如何访问 PromiseChain 实例范围?
使用 ES6 和原生 Promise。
class PromiseChain {
constructor(){
this.food = 'Pasta';
this.type = 'Italian';
}
pOne() {
console.log('pOne');
return Promise.resolve();
}
pTwo() {
console.log('pTwo');
try {
console.log(this.food);
} catch (e) {
// can't read 'food' of undefined!
console.log(e);
}
return Promise.reject()
}
work() {
console.log('Get to work!');
this.pOne().then(this.pTwo).catch((error) => {
console.log(error);
})
}
}
new PromiseChain().work();
【问题讨论】:
标签: javascript class promise ecmascript-6