如何在 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 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题