javascript - 如何在 1.5 中取消 AngularJS 中 $resource 的 promise

标签 javascript angularjs

我正在使用 Angular 1.5.7,并且希望在需要时间的情况下取消对资源的删除。我正在使用 MEAN 堆栈,有时我会看到资源上的删除被视为待处理(是 mongo 吗,速度很慢吗?)。 下面是工厂和 Controller 中我调用删除的代码片段: * 工厂:

      .factory('addressesFactory', ['$resource', 'baseURL', function ($resource, baseURL) {
    return $resource(baseURL + 'addresses/:id', {id: '@_id'}, {
      'update': {
        method: 'PUT'
      },
      'delete': {
        method: 'DELETE'
      }
    });
  }])
  • 来自 Controller 的代码片段:

    $scope.delete = function (address, addressesList) {
    
    $scope.deleteDisabled=true;
    
    console.log('[ModeratorsCtrl] Deleting:' + address.name);
    console.log('[ModeratorsCtrl] ' + addressesList.length);
    addressesFactory.delete({id: address._id}).$promise.then(
      function (response) {
        $scope.deleteDisabled=false;
        console.log('[ModeratorsCtrl] Address deleted successfully');
      },
      function (response) {
        $scope.deleteDisabled=false;
        var message = '[ModeratorsCtrl] Error: ' + response.status + ' ' + response.statusText;
        console.log(message);
      }
    );
    

    };

我看到了这篇文章How to cancel $resource requests并阅读有关取消请求的信息:https://docs.angularjs.org/api/ngResource/service/ $资源#!与 $cancelRequest() 但我有点困惑。 谁能给我关于如何在实现中取消 promise 的最佳实践? 问候,

最佳答案

假设您的资源是Users,要取消请求,您应该命名您的操作,例如

var request = Users.query();

此时``请求就是一个 promise 。你可以简单地做一个,

request.$cancelRequest();

取消。

关于javascript - 如何在 1.5 中取消 AngularJS 中 $resource 的 promise ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38865199/

相关文章:

javascript - jQuery:查找文本并替换为 HTML

angularjs - 仅使用 Ionic Framework 或 Onsen UI 作为托管 Web 应用程序有什么缺点

javascript - AngularJS:动态绑定(bind) Click in 指令被触发多次

javascript - 是否有一种干净的方法来访问可以未定义但仅在定义时才呈现的对象的属性?

javascript - 用js构建声誉/业力系统

AngularJs:具有 contenteditable 的 HTML 表的动态行的必需字段验证和突出显示

jQuery 语法错误 : #/

javascript - 使用http服务时访问xampp本地主机文件

javascript - 为什么在 jquery 中成功调用 ajax 后不加载此函数?

javascript - 如何检查 webgl(three.js) 的客户端性能