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

  • Andrea Lewis

    Andrea Lewis

    14 Mart 2013
  • boogie2988

    boogie2988

    6 NİSAN 2006
  • hitcreatormusic2

    hitcreatormu

    21 Mayıs 2010