Трудно получить титул прямо на этом.Объект изображения Javascript, повторно использующий ссылочную переменную, отменяет запрос?
Если я использую объект изображения Javascript для отслеживания чего-либо, HTTP-запрос выполняется асинхронно (это не блокирующий вызов), поэтому я всегда был обеспокоен тем, что если я повторно использую переменную, являющуюся ссылкой на объект изображения , Я мог бы заставить запрос быть отмененным. Вот какой код, который мог бы проиллюстрировать мою озабоченность.
var img = new Image();
img.src = URL1; //hit server with request 1
img = new Image(); //re-use the img variable for the next new Image
img.src = URL2; //and now request 2. Would this cancel request 1 ?
я могу (и в настоящее время делают) работать вокруг этой потенциальной проблемы, имея массив объектов изображения, и я беру следующий доступный один, и обернуть вокруг на 10. Что-то как это:
var imgs=[], index=0;
function send(url) {
imgs[index] = new Image();
imgs[index++].src = url;
if(index>=10)index=0; //wraparound
}
send(URL1);
send(URL2);
Я знаю, что при повторном использовании объекта img в этом первом примере кода я фактически ничего не делаю с этим исходным объектом изображения, я просто осилю его - уменьшая его количество до нуля и открывая его для мусора коллекция.
Могу ли я найти (в первом примере), что первый запрос был отменен/прерван? Или это всегда будет завершено, только чтобы найти, что по завершении никто не заинтересован?
Спасибо за этот ответ. К сожалению, этот вопрос отвечает только на один браузер. Я надеюсь на окончательный ответ во всех браузерах. Что-то вроде «запросы никогда не прерываются» :-) – Dee2000