我希望能够在使用getList()
或get()
时进行异常处理,但是如果我用户then()
则返回任何有用的内容。如果删除then()
,则会返回我期待的内容,但我没有异常处理。
Restangular自己documentation使用then()
与getList()
一起使用,所以我不确定它为什么不起作用。
这是我的控制器代码:
$scope.allSubjects = Restangular.all('subjects').getList().then(handleSuccess, handleError('Error getting all subjects'));
console.log($scope.allSubjects); // -> Promise {$$state: Object}
function handleSuccess(data) {
return data;
}
function handleError(error) {
return function() {
$log.warn(error);
};
}
但是,如果我解析数据,它可以正常运行
.state('subjects', {
url: '/subjects',
templateUrl: 'components/subjects/list.html',
controller: 'SubjectsListCtrl',
controllerAs: 'vm',
resolve: {
getSubjectsResolve: function(Restangular) {
return Restangular.all('subjects').getList().then(handleSuccess..., handleError...);
}
}
})
我好迷路了!我不明白。
答案 0 :(得分:0)
在handleSuccess中,您将返回数据。你是谁回来的?通常,您的成功函数如下所示:
function handleSuccess(response) {
$scope.data = response.data;
}