Начать $interval немедленно в AngularJS

У меня есть функция notifications.get(), которая запускается каждые 10 секунд.

function notificationsCtrl($scope, $interval) {
    $interval(function(){ 
        $scope.notification = notifications.get();
        $('.card').addClass('rotate');
    }, 10000);
};

Но когда страница загружается, функцию следует вызывать сразу. Кто-нибудь может мне помочь?

Ответы

Ответ 1

Вы можете сделать это следующим образом:

  • Определите его как функцию
  • Немедленно вызовите его по имени функции
  • Прикрепите функцию к $interval() для выполнения через каждые 10 секунд.

CODE:

function notificationsCtrl($scope, $interval) {
    var fun = function(){ 
        $scope.notification = notifications.get();
        $('.card').addClass('rotate');
    };
    fun();
    $interval(fun, 10000);
};

Ответ 2

вы можете использовать $interval.flush(миллис) для перемещения вперед миллисекундами и запускать любые функции, запланированные для выполнения в это время.