У меня есть асинхронный контроллер в моем веб-приложении asp.net MVC. В контроллере есть метод, который загружает данные из базы данных, и я жду этого метода, добавляя ключевое слово «ожидание» в качестве префикса. Теперь мой вопрос: если у меня есть большой объем данных для загрузки с помощью этого метода ожидания, остановится ли загрузка страницы или страница продолжит загрузку до тех пор, пока метод не вернет данные. Если он остановится, то как он покажет возвращенные данные. Спасибо.

0
Abdul Hayee 29 Окт 2019 в 13:34
С ожиданием загрузка страницы не останавливается и не продолжается, загрузка страницы будет ждать.
 – 
the_lotus
29 Окт 2019 в 14:38
Не могли бы вы уточнить, что вы подразумеваете под загрузкой страницы?
 – 
Paulo Morgado
29 Окт 2019 в 15:05

1 ответ

Если, когда вы говорите «продолжить загрузку», вы имеете в виду «продолжить ждать», то да. Браузер будет продолжать ждать.

Браузер не будет знать, что происходит. Для браузера происходит следующее:

  1. Он делает запрос.
  2. Он ждет.
  3. Он возвращает данные.

Браузер не знает, что делает сервер во время ожидания.

Использование async/await этого не меняет. Если он ожидает запроса к базе данных, он не вернет никаких данных в браузер, пока база данных не вернет данные.

1
Gabriel Luci 29 Окт 2019 в 15:10