Показать сообщение отдельно
  #1 (permalink)  
Старый 01.02.2012, 09:21
Новичок на форуме
Отправить личное сообщение для Евгений М Посмотреть профиль Найти все сообщения от Евгений М
 
Регистрация: 01.02.2012
Сообщений: 4

Очередь XML запросов
Доброе время суток.
Задача: выполнить очередь XML запросов, причем так, чтобы страница была доступна для "кликания" во время выполнения этих запросов.

Прочитал что такое XMLHttpRequest, понял чем отличается синхронный запрос от асинхронного.

Схема такая:
function asyncHandler()
{
        if (this.readyState != 4)
                return;
        
        if (this.status == 200)
        {
                writeResult(this.responseXML);
        }
}
 
function runXMLRequest(link)
{
        requestLink = 'controller.php?' + link;
        xmlhttp = new XMLHttpRequest();
        xmlhttp.open("GET", requestLink, true);
        xmlhttp.onreadystatechange = asyncHandler;
        xmlhttp.send();
}

// ...

for (var i in linkArray)
{
        runXMLRequest(linkArray[i]);
}


linkArray - это массив из 58 элементов. Т.е. 58 запросов нужно выполнить.

Но в данном случае скрипт пытается выполнить сразу одновременно 58 запросов. Это не то что нужно. Нужна очередь.
Если использовать синхронные запросы, то очередь получается, но страница не доступна для кликания.

Вопрос: как реализовать очередь асинхронных XML запросов?
Ответить с цитированием