当前位置: 首页 > 面试题库 >

取消routeChange上的AngularJS $ timeout

居琛
2023-03-14
问题内容

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

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


问题答案:

$timeout.cancel像这样使用:

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

参考



 类似资料:
  • 我已经用angularjs做了一个上传文件的脚本。文件被成功上传到文件夹,但我的问题是,当从队列中删除一个文件时,它不会从文件夹中删除文件,有人知道如何解除关联或删除文件,当我点击删除文件夹时,我正在使用角上传文件。谢谢

  • 问题内容: 如何在AngularJs中取消路线更改事件? 我当前的代码是 即使验证失败,Angular也会提取下一个模板和关联的数据,然后立即切换回上一个视图/路线。如果验证失败,我不希望angular提取下一个模板和数据,理想情况下应该没有window.history.back()。我什至尝试过event.preventDefault()但没有用。 问题答案: 代替使用 这是angularjs专

  • 问题内容: 在AngularJS中给出Ajax请求 如果启动另一个请求(相同的后端,例如不同的参数),取消该请求的最有效方法是什么? 问题答案: 此功能通过超时参数添加到1.1.5版本中:

  • 问题内容: 这可能很明显,但我感到非常困惑。 我有一个带where子句(带参数列表的where)的SQL查询。如果所有这些参数都为null,则需要SQL忽略where子句并检索所有记录。这在SQL中容易做到吗?我知道一种解决方法是,如果参数为null,则仅使用代码删除where子句。 问题答案: 您可以尝试执行以下操作: 当然,它需要在您自己的查询中进行一些调整,但是现在您将检查参数是否为空或执行

  • 问题内容: 我可以在控制器中看到该事件,但看不到如何告诉Angular留下。我需要弹出类似“您要保存,删除还是取消?”这样的信息。如果用户选择“取消”,则停留在当前“页面”上。我看不到任何允许侦听器取消路由更改的事件。 问题答案: 您正在听错事件,我做了一些谷歌搜索,但在文档中找不到任何内容。快速测试: 在全局控制器中,阻止了位置更改。

  • 我正在为一个流创建一个'take untilsignal'运算符--一个扩展方法,当另一个流生成输出时,它会取消一个流。 我最初的努力是尝试在与主要流收集相同的协同范围内启动信号流的收集,并取消协同范围: 编辑:我拼凑了以下这些讨厌的东西,它不太符合定义(结果流只会在第一次从主流发射后取消),我觉得有一个更好的方法: edit2再试一次,使用ChannelFlow: