Я столкнулся с той же проблемой, когда просматривал результаты, и я не использую функцию each (). Поведение блокировки, которое происходит в функции обратного вызова ajax, блокирует страницу, включая любые индикаторы «загрузки».
Одно из решений, которое я еще не реализовал, состоит в том, чтобы ajax рекурсивно извлекал результаты в виде «кусков» и отображал x результатов за раз (20–50?). Таким образом, пользователь получает немедленную обратную связь, и восприятие блокировки не происходит.
Может быть, что-то подобное может сработать для вас -