0

アプリケーションで、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 配列を取得しています。

この問題を解決するにはどうすればよいですか?

前もって感謝します。

4

1 に答える 1