超时完成后如何调用函数?超时由click事件触发(Typescript)

时间:2016-03-21 00:34:04

标签: typescript

所以我想打电话'this.breakCheck();'超时完成后。现在我在每次迭代时调用它并且我的程序正在运行,但理想情况下我希望在超时完成后只调用一次。

public startBreak(){
  for(let i = this.breakSeconds; i > 0; i--){
    this.$timeout(() =>{ this.breakSeconds -= 1; this.breakCheck();}, 1000 * i);
    }
}

以前我在这里

    public startBreak(){
    for(let i = this.breakSeconds; i > 0; i--){
        this.$timeout(() =>{ this.breakSeconds -= 1;}, 1000 * i);
    }
     this.breakCheck();
}

但是因为'startBreak()'是由click事件调用的,所以它只是立即运行。

谢谢!

1 个答案:

答案 0 :(得分:0)

规格:

  • breakCheck只调用一次
  • 仅在breakSeconds
  • 之后调用

简单:

public startBreak(){
    this.$timeout(()=>this.breakCheck(), this.breakSeconds * 1000);
}