Я пытаюсь получить данные из URL в мой code.I делает это в 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-адреса, и передать одно значение и вернуть его?
Спасибо заранее!
вы возвращаете значение 'v' перед его обработкой ** асинхронным **' $ http.get() ' звоните, поэтому вы получаете результат '0'. – BeNdErR
@ benderr: Не могли бы вы поделиться некоторыми предложениями о том, как разрешить этот тип ошибок? – Vineet
'this.getData = function() {return $ http.get ('myurl'); } ', а затем' myService.getData(). then (function (data) {...}); ' –