Синхронное выполнение запросов не снижает нагрузку на ваш сервер, оно просто делает браузер пользователя не отвечающим.Вам следует подумать о том, как я могу уменьшить количество вызовов на сервере до 1. Если вы не можете этого сделать, вам необходимо отслеживать, когда вызовы AJAX завершены.
Чтобы отслеживать, когда все вызовы завершены, выможет пойти об этом одним из двух способов.Недостаточно кода для создания примеров кода, поэтому приведено краткое описание того, что нужно сделать.
Самый простой / Хак Используйте событие ajaxStop .
Идея в том, что вы зацикливаетесь и выполняете все ваши вызовы ajax.Предполагая, что только эти звонки происходят в то время.В конце выполнения $.ajax
100 раз зарегистрируйте событие ajaxStop
.Когда все события ajax завершены, будет выполнен этот обратный вызов.Затем вы можете закрыть диалоговое окно.
Правильный путь Узнайте об отложенном объекте.Я не буду притворяться, что это легко.
Вы создаете отложенный объект, который знает обо всех вызовах ajax.Когда они все завершены, вы можете запустить свой dialog.close()
.Я могу привести короткий пример, если этот метод вас заинтриговал.В противном случае используйте хак выше, который будет работать в простых случаях.