#javascript #xmlhttprequest
Вопрос:
Я пытаюсь показать слайд-шоу на экране, работающем под управлением старой версии браузера Samsungs Hospitality. браузер не поддерживает выборку или обещания, поэтому мне приходится использовать xmlhttprequest, проблема в том, что я хочу снова вызвать xmlhttprequest, когда слайд-шоу будет готово. В настоящее время он вызывается рекурсивно, но это означает, что стек вызовов никогда не очищается, так что на самом деле это не устойчивое решение.
xmlhttprequest:
function getData(url) { var req = new XMLHttpRequest(); req.overrideMimeType("application/json"); req.open('GET', url, true); req.onload = function () { var jsonResponse = JSON.parse(req.responseText); generateSlides(jsonResponse); }; req.send(); }
функция, отображающая изображения и рекурсивно вызывающая xmlhttprequest
function showPosters(slides, slideIndex) { console.log(slideIndex); setPoster(slides[slideIndex]); slideIndex ; if (slideIndex == slides.length 1) { getData("http://localhost:5000/Posters"); } else { setTimeout(showPosters, 4000, slides, slideIndex); } }
Есть ли какой-либо способ дождаться завершения обратного вызова, когда ожидание и обещания не поддерживаются?