アプリケーションで、REST API 呼び出しを行うための角度サービスを作成しています。
私が以下のようにしていること:
App.service('dataService', function(){
this.getNewsAndTweets = function(){
var newsCall = $http({
method: 'GET',
url: '/api/news/'
});
var tweetsCall = $http({
method: 'GET',
url: '/api/tweets/'
});
$q.all(newsCall, tweetsCall).then(function(values) {
var news = values[0].data.results;
var tweets = values[1].data.results;
var a = doSomeThing(news);
var b = doSomeThingToo(tweets);
return [a, b];
});
}
}
非同期呼び出しと同様$q.all(newsCall, tweetsCall).then
に、サービスを呼び出しているときにニュースで null 配列を取得しています。
dataService.getNewsAndTweets()
$q が後でデータを返す非同期呼び出しであることを理解している限り、コントローラー内で呼び出して null 配列を取得しています。
この問題を解決するにはどうすればよいですか?
前もって感謝します。