Javascript 另一个请求的AngularJS$http请求对象

Javascript 另一个请求的AngularJS$http请求对象,javascript,json,angularjs,Javascript,Json,Angularjs,很抱歉标题混淆,基本上我有一个json文件,看起来像这样,指向其他位置: { "link": [ { "href": "some-external-resource", "title": "services-path" } ] } 我真正的问题是让对象的href不能异步加载到Angular服务中。以下是我对上述json文件的请求: var servicesPath = $http({ url: 'resource-directory.js

很抱歉标题混淆,基本上我有一个json文件,看起来像这样,指向其他位置:

{
  "link": [
    {
      "href": "some-external-resource",
      "title": "services-path"
    }
  ]
}
我真正的问题是让对象的href不能异步加载到Angular服务中。以下是我对上述json文件的请求:

var servicesPath = $http({
    url: 'resource-directory.json',
    method: "GET"
    }).success(function(data){
        return $filter('filter')(data.link, {title: "services-path"})[0].href;
    });
    console.log(servicesPath);

我知道返回的是我想要的,但是控制台日志返回标准的“then,catch,finally,success,error”对象函数,这意味着数据在我需要时不在那里。如何操作请求,使变量包含信息?

由于您有一个异步调用,因此在调用完成(成功)时将返回该值


由于
servicesPath
是一种承诺,因此它实际上并不是您想要的价值。您可以访问
success
中的值,所以在那里使用它。@ChrisBouchard您是100%正确的,我完全忽略了这一点。谢谢你
$http({
    url: 'resource-directory.json',
    method: "GET"
}).success(function(data){
    console.log('response data', data);
    var theHref = $filter('filter')(data.link, {title: "services-path"})[0].href;
    console.log('theHref', theHref); // value shows here
}).error(function(errorResp){
    console.log('error');
});