Я пытаюсь заставить Angular перезагрузить страницу через 15 секунд, показывая spinner, но по какой-то причине после двух повторений он начнет игнорировать функцию $ interval и начнет перезагружать страницу в момент ее изменения (без ожидания 15 секунд). Есть идеи? Благодарю!
var getAll = function () {
$http.get('/getAll')
.success(function (data) {
// something
})
.error(function (data) {
// something else
});
}
getAll();
$interval(function () {
usSpinnerService.spin('spinner-1');
$interval(function () {
getAll();
usSpinnerService.stop('spinner-1');
}, 2000);
}, 15000);
Глядя на документацию на $ interval, вам нужно установить "count", количество повторений интервала $. В этом случае, похоже, вы только хотите, чтобы это произошло однажды.
Здесь мы начинаем поворот. Затем интервал начинается с задержки 15 секунд перед вызовом функции some_function()
которая остановит счетчик и вызовет getAll()
var some_function() {
stop_spinner()
getAll()
}
start_spinner()
$interval(some_function, 15000, 1);
Источник: https://docs.angularjs.org/api/ng/service/ $ interval