Javascript: неблокирующий способ ожидания, пока условие не выполнится

У меня есть несколько ASP.NET UpdatePanels, каждый с AsyncPostBackTrigger, привязанный к той же кнопке 'Событие щелчка на сервере. Поскольку только одна UpdatePanel может делать свое дело одновременно, я использую.get_isInAsyncPostBack() изPageRequestManager запретить пользователю доступ к другой части страницы, пока не завершится асинхронная обратная передача.

Другая часть этой страницы должна динамически обновлять несколько панелей обновления последовательно. Поскольку панели обновления используют асинхронные триггеры, вызывая__doPostBack("", 'PanelId'); стреляет асинхронно. Из-за этого он быстро перейдет к следующей итерации цикла и попытается обновить следующую панель. Однако вторая итерация завершается неудачно, потому что уже есть другая панель обновлений, выполняющая асинхронную обратную передачу.

В идеале был бы способ подождать, пока.get_isInAsyncPostBack() возвращает false, не блокируя другие действия клиента.

Исследования привели меня ко многим людям с моей проблемой, почти всем из которых рекомендуется использоватьsetTimeOut(), Я не думаю, что это будет работать для меня. Я нене хочу ждать указанное количество времени перед выполнением функции. Я просто хочу, чтобы мой Javascript ждал, пока запущен другой скрипт, желательно подождать, пока не выполнится определенное условие.

Я понимаю, что многие, вероятно, захотят предложить мне пересмотреть свою модель. Это'На самом деле это не моя модель, а та, что была передана нашей команде разработчиков, и в настоящее время она находится в полном беспорядке. Из-за нехватки времени переписать модель нельзя. Единственный вариант - заставить это работать. Я думаю, что если бы у меня был способ заставить клиентский код ждать без блокировки, моя проблема была бы решена.

Ответы на вопрос(4)

Ваш ответ на вопрос