javascript – AngularJS:如何用ngResource处理成功和错误的回调?

docs没有任何意见。

我的REST enpoint可能会抛出错误

$scope.delete = function(index) {
    Transaction.delete({transactionId: $scope.transactions[index].uuid})     
  };

我把以上改为以下

$scope.delete = function(index) {
    Transaction.delete({transactionId: $scope.transactions[index].uuid})
      .success('transaction deleted');
  };

但它失败了

TypeError: Object #<Resource> has no method 'success'
    at Object.TransactionController.$scope.delete (http://localhost:5000/static/app/js/controllers/transactionController.js:26:8)
    at http://localhost:5000/static/app/lib/angular/angular.js:6094:36

如何处理成功和错误的方案?

美国我是JavaScript的新手

最佳答案
您可以使用以下格式成功传递错误回调,具体取决于您使用资源的方式(取自docs):

  • HTTP GET “class” actions: Resource.action([parameters], [success], [error])
  • non-GET “class” actions: Resource.action([parameters], postData, [success], [error])
  • non-GET instance actions: instance.$action([parameters], [success], [error])

你的例子类似于非获得“类”动作,看起来像这样:

Transaction.delete({transactionId: $scope.transactions[index].uuid}, 
    function(successResult) {
        // do something on success
    }, function(errorResult) {
        // do something on error
        if(errorResult.status === 404) {            
        }
    }

Here是有关GET资源失败的相关问题。

转载注明原文:javascript – AngularJS:如何用ngResource处理成功和错误的回调? - 代码日志