Использование индикатора выполнения для асинхронной загрузки трудоемкого скрипта - PullRequest
0 голосов
/ 09 августа 2010

Я загружаю динамическое приложение (которое занимает 20-30 секунд), и я пытаюсь создать динамический индикатор выполнения, который показывает пользователю, сколько задач было выполнено динамически при загрузке страницы.

Я выполняю это, устанавливая для буфера значение false и заставляя мой сценарий выводить строку JavaScript по мере продвижения, которая вызывает функцию для увеличения полосы прокрутки:

function progress(percent)
{
  $("#progressbar").progressbar({value: Math.round((percent*100))});
}

Это вызывается простым вызовом функции, как progress (15), сгенерированный моей страницей и отправленный в реальном времени в браузер. Кто-то предложил в другой ветке, что я могу оптимизировать это присоединение индикатора выполнения к вызову AJAX .load (), но, насколько я знаю, он возвращается ТОЛЬКО после загрузки всей страницы. Могу ли я использовать какой-либо асинхронный вызов для выполнения кода, требующего много времени, и при этом иметь возможность отображать прогресс в реальном времени по мере его выполнения?

1 Ответ

0 голосов
/ 09 августа 2010

Вам понадобится что-то вроде системы продажи билетов. Когда клиент запрашивает эту трудоемкую операцию, ему присваивается идентификатор билета.

Теперь они могут опрашивать сервер на наличие обновлений; и это может быть обработано процессом / сценарием, отличным от того, который фактически обрабатывает запрос. Я обновлю этот ответ, если вы добавите больше деталей к вопросу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...