我是javascript和angular的新手。
我创建了一个自定义的 Angular 服务,该服务连接到URL并获取信息。我试图返回reponse.data,而不是仅仅响应
var getAlldatas = function($http)
{
var getuser= function(username){
$http.get("https://api.github.com/users/"+username).then(function(response{
return response.data;
});
};
};
但是,直到我在$ https之前添加return语句,这才起作用,如下所示
var getAlldatas = function($http)
{ var getuser= function(username){
return $http.get("https://api.github.com/users/"+username).then(function(response{
return response.data;
});
};
};
请帮助我了解为什么需要额外的“return”语句,因为我需要的只是从此函数返回response.data
最佳答案
您只能从所使用的函数中返回。
这意味着,当您使用return response.data
时,您仅从回调函数返回。
通过返回$http.get
,您也将从getuser
函数返回。
(在此示例中,$http.get
返回一个promise
,因此,通过返回$http.get
,您将返回它的promise
。promise
将包含从回调中返回的任何内容,因此这意味着您可以返回一个包含promise
的response.data
)