【发布时间】:2014-09-16 11:59:51
【问题描述】:
我在我的 Angular 应用程序中遇到问题,如果我到达一个控制器视图,该控制器视图发出 $http.get() 异步调用并在承诺解决之前导航到另一个控制器视图,那么我实际上最终会获得来自一个控制器在完全不同的控制器上执行。
例如,如果第一页执行$http.get(),然后在.success() 函数中调用$window.location = data.goToUrl。然后,如果我打开第一页,并在 .success() 触发之前导航离开,那么当我到达我导航到的完全不同的页面时,当第一页的 .success() 方法最终触发时,我将被导航离开新的页面永远不应该在任何地方正常导航。
当我离开控制器以确保它不会影响下一个视图时,如何取消所有承诺或终止控制器的所有异步功能?或者有没有更好的方法来处理这个问题?
【问题讨论】:
标签: angularjs asynchronous routes angularjs-scope