我在角度服务中有这个代码:
factory.getList = function(){
$http.get('/getClasses')
.success(function (response) {
console.log(response);
return(response);
})
.error(function() {
console.log('error in getList');
});
};
当我运行它时,我可以在控制台中看到响应,但在控制器中我有:
$scope.classesList = Svc.getList();
并且此classesList始终未定义。为什么呢?
答案 0 :(得分:0)
它是一个异步回调函数,你需要做一些事情
首先将callb函数传递给服务
factory.getList = function(callb){
$http.get('/getClasses')
.success(function (response) {
console.log(response);
callb(response);
})
.error(function() {
console.log('error in getList');
});
};
然后在控制器中调用它
Svc.getList(function(data){
$scope.classesList=data;
});