Я использую XMLHttpRequest для выполнения запроса AJAX, который может занять некоторое время, используя обычный старый Javascript (не jQuery) . Запрос вызывает конечную точку, которая обрабатывает некоторые транзакции.
Я могу проверить статус транзакции через другую конечную точку, но я надеялся «обновить sh» эту информацию на экране, пока асинхронный c AJAX запрос выполняется. Эта транзакция 'progress' также будет GET AJAX запросом.
Я просматривал объект XmlHttpRequest и пытался использовать onprogress
, но на самом деле это не так, как я Я ожидаю, что-то вроде while
l oop.
В псевдокоде это будет
var xhr = new XMLHttpRequest();
xhr.open('GET', 'process/', true);
xhr.send();
// while request is pending, call another process repeatedly
xhr.onreadystatechange = function () {
if (xhr.readyState === 4) {
if (xhr.status === 200) {
console.log("Request Successful");
} else {
console.log("Request Failed");
}
} else {
console.log("Request State changed but not complete");
}
}
Я не могу это взломать. Я предполагал, что некоторое время l oop в зависимости от значения соответствующей области может помочь, но не похоже, что аспект asyn c когда-либо обновляет это значение, чтобы сломать l oop.
Я предположил, что это может быть довольно распространенным явлением, например, для индикаторов прогресса и c, но я не могу найти ничего жизнеспособного? Я что-то упускаю из виду?