【发布时间】:2015-08-06 21:21:36
【问题描述】:
我正在尝试从 url 获取数据到我的代码中。我在 Service.js 中进行这是我的代码
var demoService = angular.module('demoService', [])
.service('myService', function($http, $q) {
var v=0;
this.getdata = function() {
$http.get('myurl').then(function(data) {
v = data.data.Tweets[0].FAVOURITE_COUNT;
});
return v; // how to return v from here(doesn't return the function's v)
}
})
我想通过调用服务在我的 AngularJS 控制器中使用它:
myService.getdata()//the v = data.data.Tweets[0].FAVOURITE_COUNT needed here
但问题是该函数返回 0(外部定义的 v)而不是我填充它的值!有没有一种方法可以只处理从 URL 返回的 Object 并传递一个值并返回它?
提前致谢!
【问题讨论】:
-
您在 异步
$http.get()调用处理之前返回了v值,这就是为什么您不断收到0作为结果。 -
@benderr : 请您分享一些关于如何解决此类错误的建议?
-
this.getData = function() { return $http.get('myurl'); }然后myService.getData().then(function(data) { ... }); -
您应该可以使用
promises解决问题,我现在无法构建示例,抱歉
标签: jquery angularjs http return