Диаграмма рикши в реальном времени в AngularJS перестает отвечать после нескольких секунд работы

Я обновляю случайные значения для имитации графика в реальном времени, используя интервал $. Через несколько секунд экран перестает отвечать на запросы. Вот мой код Я использую директиву angular-рикши с https://github.com/ngyewch/angular-rickshaw

    var seriesData = [
        [],
        [],
        []
    ];
    var random = new Rickshaw.Fixtures.RandomData(50);
    for (var i = 0; i < 50; i++) {
        random.addData(seriesData);
    }

    $scope.rickshaw_realtime_options = {
        renderer: 'area',
        height: 500,
        padding: {
            top: 0.5
        }

    };

    $scope.rickshaw_realtime_series = [{
        data: seriesData[0],
        color: 'red',
        name: 'DB Server'
    }, {
        data: seriesData[1],
        color: 'blue',
        name: 'Web Server'
    }];

    $scope.rickshaw_realtime_features = {
        yAxis: {
            orientation: 'right',
            tickFormat: Rickshaw.Fixtures.Number.formatKMBT,
        },
        hover: true,
    }

    // Update the graph with realtime data. 
    var timer = $interval(function() {
        random.removeData(seriesData);
        random.addData(seriesData);
    }, 1000);

    $scope.$on('$destroy', function() {
        if (angular.isDefined(timer)) {
            $interval.cancel(timer);
            timer = undefined;
        }
    });

0 ответов

Другие вопросы по тегам