0
我有以下的角度服务:发送错误信息,从服务到控制器
function postService($http, $log, settings) {
return {
get: function (pageNumber, pageSize) {
return $http.get(
"/api/posts",
{ params: { pageNumber: pageNumber, pageSize: pageSize } }
).then(function (response) {
return response.data;
}, function (response) {
$log.error("Service Error");
return "Service Error";
});
}
}
}
我返回数据时,一切都很好......但是,当有一个错误我想控制器知道会这样它可以显示,例如,一条消息。
然后控制器是:
function PostListController($timeout, settings, postService) {
var vm = this;
vm.posts = [];
vm.pagination = { pageNumber: 1, pageSize: 4 };
vm.load(1, 4);
vm.load = function (pageNumber, pageSize) {
postService.get(pageNumber, pageSize)
.then(function (data) {
console.log("Controller Success");
vm.posts = data;
}, function (error) {
console.log("Controller Error");
console.log(error);
});
};
}
当我模拟在我的控制台上看到该服务的错误:
"Server Error"
"Controller Success"
当它应该是这样的:
"Server Error"
"Controller Error"
我错过了什么?
UPDATE
我应该有以下服务呢?
function postService($http, $log, settings) {
return {
get: function (pageNumber, pageSize) {
return $http.get(
"/api/posts",
{ params: { pageNumber: pageNumber, pageSize: pageSize } }
);
}
}
}
并让控制器处理数据或错误的情况下发生?
我正在做的事情这样,届时约翰PAPP-A的风格指南我读: https://github.com/johnpapa/angular-styleguide#separate-data-calls
在这种情况下,服务处理它...但它不会出现这种情况的情况下返回任何错误。
我刚刚为我的问题添加了一个更新...我认为你的建议与我以前的做法类似...是吗? –
通常问一个新问题就容易多了,因为你有更多的空间来解释问题是什么。另外,如果您稍后添加信息,则会使读者感到困惑,而且没有人会回头看看您的更改/新问题。 –