Javascript 拒绝Angularjs资源承诺

Javascript 拒绝Angularjs资源承诺,javascript,angularjs,promise,angular-resource,Javascript,Angularjs,Promise,Angular Resource,所以我正在开发一个基于Angularjs的移动应用程序。当用户点击底部的每个选项卡时,将调用一个新路由,该路由正在加载部分和控制器 在我的控制器中,我经常通过Angularjs$资源从服务器请求数据,例如 $rootScope.getPage = pageApi.query(); // GET $rootScope.getPage = $rootScope.getPage.$promise.then(function(data) { //Do stuff with the retur

所以我正在开发一个基于Angularjs的移动应用程序。当用户点击底部的每个选项卡时,将调用一个新路由,该路由正在加载部分和控制器

在我的控制器中,我经常通过Angularjs$资源从服务器请求数据,例如

$rootScope.getPage = pageApi.query();    // GET
$rootScope.getPage = $rootScope.getPage.$promise.then(function(data) {

  //Do stuff with the returned data

});
我在这里使用根作用域,因为我有一个旋转加载程序位于控制器自己的$scope之外。在等待响应时,我使用Angular指令()来显示加载程序

然而,当用户在应用程序的页面中移动时,会启动越来越多的承诺(例如,由于连接丢失,这些承诺可能无法解决)

如何解决/拒绝任何其他承诺,以便只有最近加载的控制器等待承诺?

非常感谢所有评论/答案

谢谢,
Mac

为什么不使用当前控制器的$scope,只需在
中更新$rootScope上的一个变量,然后在
回调中进行更新。检查这个问题,我遇到了相同的问题(),在任何地方都找不到解决方案。你会认为这是一个常见的问题。你找到答案了吗?@mac你找到这个问题的解决方案了吗?@MuhammedAthimannil嘿!我相信AngularJS1.5$resource支持“actions”上的Cancelable:true选项。然后可以对其调用$cancelRequest()。对于下面的角度版本,您可以在$http上使用超时选项