У меня небольшая проблема: я хочу получить файл JSON с моего работающего сервера, чтобы несколько раз в секунду предоставить таблицу с последними данными. Поэтому я планировал написать функцию asyn c, которая вызывается при запуске и запускается во время работы моего веб-приложения, но после запуска этого кода моя веб-страница больше не отвечает. Моя идея заключалась в том, чтобы установить тайм-аут, чтобы он ждал 500 мс, а затем запускался снова, но, очевидно, это не сработает. Что я могу сделать лучше всего? Спасибо за помощь.
let running = false;
//called on start
function run() {
//some code
running = true;
getLatestData();
//some code
}
async function getLatestData() {
while (running) {
setTimeout(() => {
let xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function () {
if (this.readyState == 4 && this.status == 200) {
//some code (JSON parse, set html and so on, that should work)
}
};
xmlhttp.open("GET", "/api/data", true);
xmlhttp.send();
}, 500);
}