Вы можете использовать $.ajax
и async: false
, как объяснено, например. здесь:
Однако, посмотрите на документацию:
где (для async
параметра) это говорит, как и ожидалось:
Обратите внимание, что синхронные запросы могут временно блокировать браузер, отключая любые действия, когда запрос активен.
То есть, если вы делаете то, что хотите, вы можете заблокировать браузер, пока все запросы не будут выполнены. Как вы, вероятно, подразумеваете, что происходит много вещей, это потенциально может запретить пользователю делать что-либо на вашей странице в течение длительного периода времени. Не очень хорошая вещь для пользовательского опыта ...
Асинхронные вызовы - намного лучшая альтернатива - они не блокируют пользовательский интерфейс браузера, но вам придется самостоятельно управлять развертыванием цикла, к сожалению, это цена реагирования ... Что для этого нужно сделать состоит в том, чтобы сначала составить список параметров для всех вызовов, которые вы хотите сделать, а затем асинхронно вызывать их один за другим, делая другой вызов в функции обратного вызова. Взгляните на этот плагин, который вы можете использовать для этого: