【发布时间】:2014-07-15 15:37:38
【问题描述】:
我有一个服务,它将我的 API 调用包装在 Angular 中:
var ConcernService = {
list: function (items_url) {
var defer = $q.defer();
$http({method: 'GET',
url: api_url + items_url})
.success(function (data, status, headers, config) {
defer.resolve(data, status);
})
.error(function (data, status, headers, config) {
defer.reject(data, status);
});
return defer.promise;
},
然后是我的应用配置,UI-Router:
.config(function($stateProvider){
$stateProvider
.state('default', {
url: '/',
resolve: {
tasks: function ($stateParams, ConcernService) {
return ConcernService.list('tasks/').then(
function (tasks) { return tasks; },
function (reason) { return []; }
);
},
...
}
}
});
这是我可以使用的最基本的配置,如果遇到403、404 等,它基本上只是返回一个空对象,我可以在视图模板中处理它。
我的问题是,将其他细节添加到视图/模板的最佳方法是什么,例如拒绝 reason 和 status。它应该在tasks 对象中返回,还是单独返回?
【问题讨论】:
标签: angularjs promise angular-ui-router