У меня много действий в CRUD-операциях,
update, create, get, delete,..
в каждом методе я должен вводить идентификатор успеха и обратный вызов ошибки
Как я могу сделать его более элегантным и сухим?
спасибо
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)
});
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)
});
'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;
}
]);
Я бы сказал, просто передайте туда ссылку в соответствующей функции обратного вызова
//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);
Вышеуказанный метод successMessage
получит параметр data
в нем 1-й параметр, где метод errorMessage
получит error
как в первом значении параметра, как вы ожидали.