AngularJS:如何使自定义Http服务在错误处理方面更加健壮?

AngularJS:如何使自定义Http服务在错误处理方面更加健壮?,angularjs,Angularjs,您好,我有一个用于HTTP请求的简单自定义AngularJS服务: angular.module('MaxRelax') .factory('httpSrv', function httpSrv($http, $q) { return { getData: getData }; function getData(method, url) { var def = $q.defer();

您好,我有一个用于HTTP请求的简单自定义AngularJS服务:

angular.module('MaxRelax')
    .factory('httpSrv', function httpSrv($http, $q) {

        return {
            getData: getData
        };

        function getData(method, url) {
            var def = $q.defer();
            $http({method:method, url:url})
                .success(function (data, status, headers, config) {
                    console.log("Success");
                    console.log(status);
                    def.resolve(data);
                })
                .error(function (data, status, headers, config) {
                    console.log("Error");
                    getErrorMessage(status);
                    def.reject("Failed to get");

                });

            return def.promise;
        }

        // I WANT HANDLE ERROR STATES HERE AND RETURN FOMRATTED MESSAGE WITH ERROR 
        // DESCRIPTION IN CASE OF THE ERROR STATE (service unavailable, 404, etc..)
        function getErrorMessage(status) {
            console.log(status);
        }
    });
通过以下方式从控制器调用:

httpSrv.getData("GET",APP_CONST.MP3_ACTUAL_VERSION_URL).then(function(data) {
                    console.log(data);
                });
我想让这个服务在错误处理方面更加健壮。例如:

httpSrv.getData("GET",APP_CONST.MP3_ACTUAL_VERSION_URL).
.success(function(data) {
            // EVERYTHING IS OK
        });
.error(function(data) {
            // CALL  METHOD getErrorMessage OF THE httpSrv SERVICE to get formatted error message
        });
我应该如何更新我的服务,以正确的方式做到这一点,请


谢谢您的建议。

没有人知道如何改进这项服务?术语“更健壮”非常模糊-我不确定您的意思以及当前代码中存在的问题。