我对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;
}
);