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

  • emimusic

    emimusic

    10 Mart 2006
  • martin shervington

    martin sherv

    7 EKİM 2011
  • PC Learning Zone - Computer Training

    PC Learning

    8 EYLÜL 2006