我试图从获取API请求获取数据,但我无法做到。
// service
function getGithubInfo() {
return $http.get('https://api.github.com/users/test')
.success(function(data) {
return data;
})
.error(function(err) {
return err;
});
};
// controller
function getGithubInfo() {
vm.githubAccount = contactsService.getGithubInfo();
console.log(vm.githubAccount);
}
我在控制台而不是Promise {$$state: Object}
获得$object
。
如何获取数据数组?
答案 0 :(得分:4)
由于您正在返回$http
服务,因此您将获得一个承诺,以便从承诺中获取数据,并执行此类操作。
function getGithubInfo() {
contactsService.getGithubInfo().then(function(res){
vm.githubAccount = res.data;
console.log(vm.githubAccount);
})
}
答案 1 :(得分:1)
添加了then函数,当我们从异步服务调用获得响应并且响应被包装在promise对象的data
属性中时触发。
//Service
function getGithubInfo() {
return $http.get('https://api.github.com/users/test')
.then(function(response) { //Added this then function
return response.data;
})
.success(function(data) {
return data;
})
.error(function(err) {
return err;
});
};