Добрый день, необходимо через restApi получить массив данных уведомлений, и выводить эти уведомления с определённым интервалом, показали уведомление, оно повисело секунды 3, удалили, на этом месте отобразили другое. Как только все уведомления показали, нужно подключиться к серверу и получить новую порцию уведомлений и так происходит до тех пор пока открыта вкладка в браузере.
Данные находятся на другом сервере.Реализация:var DISPLAY_TIME = 3000;
connServer(getNotification);
var script;
function connServer(callback) {
script = document.createElement("script");
script.setAttribute("src", '//example.com/api/get-notifications?storeId=4327087&callback=getNotification');
script.charset = "utf-8";
script.setAttribute("type", "text/javascript");
script.onreadystatechange = script.onload = callback;
document.body.appendChild(script);
}
function getNotification(data) {
initSP(data, 0);
}
function initSP(configSP, i) {
if (i >= configSP.notifications.length) {
document.body.removeChild(script);
connServer(getNotification);
return;
}
var htmlNotif = '<img src="' + configSP.notifications[i].productImg + '" class="photo">' ;
//Вставка в вёрстку
setTimeout(function run() {
closeNotification();
initSP(configSP, ++i);
}, DISPLAY_TIME);
}
Но происходит ошибка.
Как можно улучшить реализацию и избавиться от ошибки?