Server polling with AngularJS

后端 未结 4 1719
抹茶落季
抹茶落季 2020-12-04 05:08

I\'m trying to learn AngularJS. My first attempt to get new data every second worked:

\'use strict\';

function dataCtrl($scope, $http, $timeout) {
    $sco         


        
4条回答
  •  长情又很酷
    2020-12-04 05:57

    More recent versions of angular have introduced $interval which works even better than $timeout for server polling.

    var refreshData = function() {
        // Assign to scope within callback to avoid data flickering on screen
        Data.query({ someField: $scope.fieldValue }, function(dataElements){
            $scope.data = dataElements;
        });
    };
    
    var promise = $interval(refreshData, 1000);
    
    // Cancel interval on page changes
    $scope.$on('$destroy', function(){
        if (angular.isDefined(promise)) {
            $interval.cancel(promise);
            promise = undefined;
        }
    });
    

提交回复
热议问题