【发布时间】:2014-10-08 02:18:36
【问题描述】:
在我的 Angular 应用程序中,我有一个控制器。控制器有一个方法,它在名为Service 的服务中调用异步函数。这是控制器代码:
$scope.controllerMethod = function(){
Service.serviceMethod($scope.x, $scope.y).then(function(data){
//request succeeded, so do nothing
}, function(data){
//there was an error, show error message
});
}
这是Service 服务中的serviceMethod:
serviceMethod: function(x, y){
return $http.post('save', {
id: x, type: b
}).then(function(data){
//update variables in the service
}, function(data){
//send error message to controller
});
}
Service 方法调用服务器时,服务器会在必要时返回错误。如何将该错误响应发送到我的控制器?在当前设置下,无论$http 请求返回成功还是错误,控制器中的 deferred 总是执行它的成功方法。我想为控制器中的 deferred 调用错误方法,将来自服务器的数据传递给它。
【问题讨论】:
标签: javascript angularjs