我想在一个箭头函数内设置一个Constructorfunction的属性,这是Constructorfunction的一个属性。在arrowfunction内部,我想使用setTimeout(),它使用一个函数作为参数。就我而言,是一个匿名函数。
先谢谢您了:)
function ConstructorFunction(){
this.statusOptions = {
idle : 'idle',
working : 'working'
};
this.status = this.statusOptions.idle;
this.setStatus = () => {
setTimeout(function(){
this.status = this.statusOptions.working;
}, 2000);
};
}
var instance = new ConstructorFunction();
instance.setStatus();
答案 0 :(得分:1)
将setTimeout
回调更改为箭头函数,以使其继承外部范围(即Constructorfunction
的范围)
this.setStatus = () => {
setTimeout(() => {
this.status = this.statusOptions.working;
}, 2000);
};