如何在 Angular 4 中使用 clearInterval()

新手上路,请多包涵

我正在尝试在我的 Angular 4 应用程序中使用 setInterval。

 const inter = setInterval(() => {
  // logic resulting in exitCondition
  if(exitCondition) {
    clearInterval(inter);
  }
}, 1000);

此设置在 vanilla javascript 中运行良好,但 clearInterval() 似乎在 Angular 中不起作用。在做一些研究后,我发现了 Angular 1.x 的间隔服务:

https://docs.angularjs.org/api/ng/service/ $interval

Angular 4 有类似的东西吗?或者是否有使 clearInterval() 工作的解决方法?

原文由 Kevin Shi 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 483
2 个回答

你可以这样设置,

   this.interval = setInterval(() => {

  }, 1000);

像这样清楚,

 if (this.interval) {
   clearInterval(this.interval);
}

原文由 Sajeetharan 发布,翻译遵循 CC BY-SA 3.0 许可协议

如果你想在某些条件下使用相同的方法

var a = 1;
    this.interval = setInterval(() => {
      console.log(a++)
      if(a > 30){
        clearInterval(this.interval);
      }
    }, 1000);

原文由 Ashutosh Jha 发布,翻译遵循 CC BY-SA 4.0 许可协议

推荐问题