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

How can I set values of a constructor function object inside setTimeout()?

我想在箭头函数中设置一个 属性 的构造函数,它是一个 属性 的构造函数。在箭头函数中,我想使用 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();

将您的 setTimeout 回调更改为箭头函数,以便让它继承外部作用域(即您的 Constructorfunction 的作用域)

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