Как мне проще добавить функцию успеха и ошибки в обратные вызовы $ обещать

0

У меня много действий в 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;
            }
        ]);
Теги:

1 ответ

1
Лучший ответ

Я бы сказал, просто передайте туда ссылку в соответствующей функции обратного вызова

//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 как в первом значении параметра, как вы ожидали.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню