在 routeChange 上取消 AngularJS $timeout

Posted

技术标签:

【中文标题】在 routeChange 上取消 AngularJS $timeout【英文标题】:Cancel a AngularJS $timeout on routeChange 【发布时间】:2013-01-31 14:23:29 【问题描述】:

在我的应用程序的特定页面上,我想进行服务器调用以在设定的时间间隔内更新信息。 我偶然发现了一个问题。当用户离开相关页面时,我想取消我的 $timeout,以便应用程序不会尝试处理不再存在的内容。

关于如何解决这个问题的任何想法?

【问题讨论】:

【参考方案1】:

像这样使用$timeout.cancel

yourTimer = $timeout(function()  /* ... */ , 5000);
$timeout.cancel(yourTimer);

Reference

【讨论】:

以上是关于在 routeChange 上取消 AngularJS $timeout的主要内容,如果未能解决你的问题,请参考以下文章

Angular RxJS Observable:takeUntil 与使用订阅取消订阅 [关闭]

如何在 Angular 4+ 中取消/取消订阅所有挂起的 HTTP 请求

Angular 2 动态表单 - 实现取消功能

如何在拦截器中取消当前请求 - Angular 4

我需要手动取消订阅吗? - Angular 8 [重复]

如何在 Angular 2 中取消订阅 EventEmitter?