показывать загрузчик прогресса при асинхронной загрузке и обработке CSV-файлов

Мой вопрос довольно прост, но мне трудно понять, как его решить. Как показано в приведенном ниже коде, я загружаю 3 CSV-файла, а затем обрабатываю их с помощью queue.js. Пока это происходит, я хочу, чтобы пользователю показывался какой-то индикатор прогресса.

queue()
  .defer(d3.csv,"data/1.csv")
  .defer(d3.csv,"data/2.csv")
  .defer(d3.csv,"data/3.csv")
  .awaitAll(preprocessing);

Мне удалось заставить индикатор выполнения отображаться, когда документ готов с использованием JQuery. Однако индикатор выполнения приостанавливается для выполнения приведенного выше кода, что лишает смысла весь смысл. Проблема не в наличии индикатора прогресса или в загрузке и обработке данных с использованием очереди самостоятельно; скорее, проблема заключается в их интеграции. Я действительно застрял с тем, куда идти отсюда.

Любая помощь горячо приветствуется. Мне не нужно использовать queue.js, поэтому приветствуются предложения по альтернативным способам загрузки и обработки, если они упрощают решение. Спасибо!


person paul    schedule 06.05.2013    source источник
comment
Попробуйте добавить загрузочное изображение на страницу с прямым html, например <div id="loading"><img src="someLoadingURL.gif" /></div> Затем вы можете скрыть его с помощью CSS #loading { display: none; } Затем активируйте jQuery до того, как очередь начнет отображать загрузочный gif $("#loading").show(); Если это уже то, что вы уже сделали, вы можете попробовать загрузка ваших CSV-файлов с использованием прямого запроса $.ajax, для которого параметр async равен true. В обратном вызове .success вы можете установить глобальный флаг, который вы можете проверить, чтобы сообщить вам, все ли файлы были загружены, и вызвать вашу функцию обработки, как только они это сделают.   -  person Dropzilla    schedule 07.05.2013
comment
Как предложил @Mike, я бы обманул и просто отобразил загрузочное изображение или что-то подобное. Взгляните на следующий ответ для нескольких идей: " title="создание индикатора выполнения для загрузки всего перед отображением"> stackoverflow.com/questions/16181104/   -  person Xotic750    schedule 07.05.2013