1

したがって、ページが読み込まれると、angular はサービスを呼び出して 3 つの配列にデータを入力します。このサービスは、$resource を使用してバックエンドからデータ (JSON) をフェッチします。問題は、データの読み込み中にページ全体が一瞬フリーズし、スピナーが静的になることです。私の理解では、 $resource と $http はすべて非同期であり、それらがアクティブなときにページがフリーズするべきではありません。この記事で提案されている約束パターンのアプローチを試しましたが、うまくいきませんでした。何かアドバイス?前もって感謝します!

編集:コードを追加

mobiModule.factory('DataSrv', function($q, $http) {
    return {
        getData: function(url) {
            var defered = $q.defer();

            //make the call
            $http.get(url).success(function(data){
                console.dir(data);
                defered.resolve(data);
            }).error(function(){
                console.log('HTTP error');
                defered.reject();
            });

            return defered.promise;
        }
    }
});   



$scope.phones = Phones.query(); //using $resource('phones.json') 

また

$scope.phones = DataSrv.getData('phones.json'); //using the service defined above
4

0 に答える 0