首页 > 解决方案 > 当我在 Javascript 中使用 setInterval 从另一个方法调用方法时,未捕获的 TypeError 不是函数

问题描述

当我从类中的另一个方法调用方法时出现此错误。此方法是从 setInterval 调用的。

class App {
    b() {
        console.log("BBBBBBBB")
    }

    t() {
        console.log("TTTTTTT")
        this.b();
    }
}


const t = new App();


setInterval(t.t, 1000);

标签: javascript

解决方案


您需要将方法绑定到变量,以使 的值this保持不变。阅读页面了解更多信息。

setInterval(t.t.bind(t), 1000);

推荐阅读