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

  • Jonah Penna

    Jonah Penna

    11 EYLÜL 2005
  • Make:

    Make:

    23 Mart 2006
  • VvCompHelpvV

    VvCompHelpvV

    4 EYLÜL 2007