Вы можете использовать плагин jQuery Message Queuing . Поместите все элементы, которые нужно обработать, в очередь. Обратите внимание на функцию complete
в документации:
complete : (Функция) Вызывается, когда больше нет элементов очереди для обработки. После завершения, если будет добавлено больше элементов очереди и очередь завершится снова, эта функция будет вызвана снова. Внутри этой функции this
ссылается на объект queueObj.
Поместите код, который вы хотите запустить, в этот обработчик.
Одна оговорка. Я не могу сказать из документации, вызывается ли обработчик complete
после выполнения обратных вызовов для каждого запроса AJAX, или же он вызывается немедленно, когда в очереди не осталось элементов для обработки (независимо от того, есть ли выполняющиеся в данный момент запросы AJAX).
UPDATE
Кажется, я проигнорировал функцию callback
:
callback : (Функция) Вызывается для каждого элемента очереди или пакета элементов, каждая задержка миллисекунд. Этой функции передается один аргумент, который является единственным элементом очереди, если пакет равен 1, или массивом элементов очереди, если пакет равен> 1. Если обратный вызов возвращает значение true, элемент (ы) очереди будет снова добавлен в перед очередью для следующего выполнения обратного вызова, чтобы повторить. Внутри этой функции this
ссылается на объект queueObj.
Я полагаю, что вы можете поместить все, что вам нужно для отправки в пакет, и поместить код, необходимый для запуска, в обработчик callback
.