如何在setTimeout()中设置构造函数对象的值?

时间:2018-10-18 10:38:06

标签: javascript object constructor settimeout anonymous-function

我想在一个箭头函数内设置一个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();

1 个答案:

答案 0 :(得分:1)

setTimeout回调更改为箭头函数,以使其继承外部范围(即Constructorfunction的范围)

this.setStatus = () => {
        setTimeout(() => {
            this.status = this.statusOptions.working;
        }, 2000);
    };