SORU
2 Aralık 2012, Pazar


AngularJS ile sunucu yoklama

AngularJS öğrenmeye çalışıyorum. Yeni veri her saniye için benim ilk denemem çalıştı:

'use strict';

function dataCtrl($scope, $http, $timeout) {
    $scope.data = [];

    (function tick() {
        $http.get('api/changingData').success(function (data) {
            $scope.data = data;
            $timeout(tick, 1000);
        });
    })();
};

5 saniye için iplik yatarak yavaş bir sunucu benzetimi UI güncelleme ve başka bir zaman aşımı ayarı önce yanıt bekliyor. Sorunu yukarıda yazdım ne zaman Açısal modülleri kullanın ve modül oluşturma için Dİ

'use strict';

angular.module('datacat', ['dataServices']);

angular.module('dataServices', ['ngResource']).
    factory('Data', function ($resource) {
        return $resource('api/changingData', {}, {
            query: { method: 'GET', params: {}, isArray: true }
        });
    });

function dataCtrl($scope, $timeout, Data) {
    $scope.data = [];

    (function tick() {
        $scope.data = Data.query();
        $timeout(tick, 1000);
    })();
};

Bu, yalnızca sunucu yanıtı hızlı çalışır. Eğer herhangi bir gecikme olursa 1 cevap beklemeden ikinci bir istek ve UI Net görünüyor dışarı spamları. Geri arama fonksiyonu kullanmam gerekiyor sanırım. Denedim:

var x = Data.get({}, function () { });

ama var bir hata: "Hata: hedef.bas" Bu $resource dokümanlar dayanıyordu ama çok örnekleri var. anlamadığım bir işlev değil

Nasıl ikinci bir yaklaşım iş yapabilirim?

CEVAP
2 Aralık 2012, Pazar


query geri arama tick işlevini çağırmak gerekir.

function dataCtrl($scope, $timeout, Data) {
    $scope.data = [];

    (function tick() {
        $scope.data = Data.query(function(){
            $timeout(tick, 1000);
        });
    })();
};

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • andyabc45

    andyabc45

    1 Mayıs 2011
  • jagadambarecords

    jagadambarec

    13 AĞUSTOS 2008
  • MultiPlayStationMan

    MultiPlaySta

    17 Aralık 2009