2016-04-21 5 views
0

Ich habe viele Aktionen in CRUD-Operationen hinzufügen, muss ich idental Erfolg und Fehler-Callback

injizieren

Wie kann ich es eleganter und trockener machen?

Thank

Update-Aktion

 LoanPlanService.update({ 
      bank_id: $scope.bank_id, 
      loan_plan_id: $scope.loan_plan.id 
     }, { 
      loan_plan: $scope.loan_plan 
     }).$promise.then(function(data) { 
      $scope.successMessage() 
     }, function(error) { 
      $scope.errorMessage(error) 
     }); 

Abfrage Aktion

 LoanPlanService.query({ 
      bank_id: $scope.bank_id, 
      loan_plan_id: $scope.loan_plan.id 
     }).$promise.then(function(data) { 
      $scope.successMessage() 
     }, function(error) { 
      $scope.errorMessage(error) 
     }); 

Dienst

'use strict'; 

    angular.module('LoanPlanModule', []) 
     .factory('LoanPlanService', ['$resource', 
      function($resource, $http) { 
       var LoanPlan = $resource('/api/v1/banks/:bank_id/loan_plans/:loan_plan_id', { 
        bank_id: '@bank_id', 
        loan_plan_id: '@loan_plan_id' 
       }, { 
        update: { method:'PUT' }, 
        create: { method: 'POST' } 
       }); 

       return LoanPlan; 
      } 
     ]); 

Antwort

1

Ich hatte gerade in der jeweiligen Callback-Funktion übergeben sagen, es Referenz

//update 
LoanPlanService.update({ 
    bank_id: $scope.bank_id, 
    loan_plan_id: $scope.loan_plan.id 
}, { 
    loan_plan: $scope.loan_plan 
}) 
.$promise.then($scope.successMessage, $scope.errorMessage); 

//query 
LoanPlanService.query({ 
    bank_id: $scope.bank_id, 
    loan_plan_id: $scope.loan_plan.id 
}).$promise.then($scope.successMessage, $scope.errorMessage); 

von oben Art und Weise successMessage werden data Parameter in dem 1. Parameter erhalten, wobei als errorMessage Methode error wie im ersten Parameterwert erhalten wird, wie Sie erwarten.

Verwandte Themen