正确使用错误处理

时间:2015-12-09 11:07:57

标签: angularjs error-handling

我对angularjs很新,我正在试图弄清楚如何在调用web api时使用正确的错误处理。

我有两种方法相互依赖,所以我需要在调用第二种方法之前等待第一种方法完成。但是,如果web api返回内部服务器错误(其他内容),我应该如何以正确的方式处理?

我的firstMethod现在导致错误,但$ scope.scopeMethod仍在继续。我应该在那里使用错误处理吗?

angular.module("Module")
.controller("MyController",
    function ($scope, $log, SecurityService) {

        $scope.scopeMethod= function() {
            SecurityService.firstMethod()
                .then(function(firstResult) {
                    $scope.firstResult= firstResult;
                    SecurityService.secondMethod(firstResult)
                        .then(function (secondResult) {
                            $scope.secondResult= secondResult;
                            //Do stuff with secondresult

                            });
                        });
                });
        }
    }
)

SecurityService:

angular.module('Security', []);

angular.module("Security")
.factory("SecurityService",
    function($http, $cookies, $rootScope, $log) {
        var service = {};

        //firstMethod 
        service.firstMethod = function () {

            return $http.get('/api/security/') 
                .then(function(result) {
                    return (result.data);
                }, function(error) {
                    $log.error(error);
                });
        }

        //secondMethod
        service.secondMethod = function(username) {

            return $http.get('/api/security/' + username)
                .then(function(result) {
                    return (result.data);
                });
        }

        return service;
    }
);

0 个答案:

没有答案