我是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
答案 0 :(得分:2)
您只能从您所在的功能返回。
这意味着,当您-E
时,您只是从回调函数返回。
返回return response.data
,您也会从$http.get
函数返回。
(在此示例中,getuser
返回$http.get
,因此返回promise
后,您将返回$http.get
。promise
将包含任何内容从回调中返回,这意味着您可以返回包含promise
)的promise
答案 1 :(得分:1)
此处getAlldatas
& $http.get
用于分隔函数。$http.get
是then
处理回调函数的方法。
return response.data;
返回请求的响应,但该请求尚未到达调用getAlldatas
的函数。外部return
函数用于将该数据发送回调用函数。除非使用外return
,否则getAlldatas
将始终返回未定义的