【问题标题】:setTimeout only executing twice when declared in class? [duplicate]setTimeout 在类中声明时只执行两次? [复制]
【发布时间】:2022-12-14 20:27:26
【问题描述】:

为什么这只执行两次?

class TestClass {
    runPeriodically() {
        console.log('hello!');
        setTimeout(this.runPeriodically, 1000);
    }
}

let test = new TestClass();
test.runPeriodically();

【问题讨论】:

  • 要定期运行,请使用setInterval(this.runPeriodically, 1000)

标签: javascript


【解决方案1】:
class TestClass {
    runPeriodically() {
        console.log('hello!');
        setTimeout(()=> this.runPeriodically(), 1000);
    }
}

let test = new TestClass();
test.runPeriodically();

【讨论】:

    最近更新 更多