typescript window.setInterval()无法正常工作

时间:2016-07-25 01:54:23

标签: javascript typescript

我遇到了window.setInterval()方法的问题。下面是一个结构的例子,方法"重复"被重复调用,但是我不能在里面调用任何方法"重复"。在我实例化管理器(让m = new manager())的示例中,它将打印" Before Print",但不会从printStuff方法打印出日志,或者" After Print&# 34;消息。

有谁知道为什么会这样?显然这不是我的实际代码,因为它很简单,不能在单独的函数中,但是我的实际代码需要在" repeat"中调用许多函数。函数,它会在找到另一个函数的调用时停止执行。

class manager{

constructor(){
    window.setInterval(this.repeat, 5000);
}

repeat(){
    console.log("Before Print");
    this.printStuff();
    console.log("After Print");
}

printStuff(){
    console.log("Print Stuff");
}

1 个答案:

答案 0 :(得分:9)

设置间隔将需要将this.repeat从您需要显式“绑定”方法的上下文中取出

setInterval(this.repeat.bind(this), 5000)

setInterval(()=>this.repeat(), 5000)