Нет, в настоящее время это невозможно в javascript (если вы не хотите что-то взломать с помощью веб-воркеров, но это не то, что вам здесь нужно). Даже await
- это только синтаксический сахар, чтобы код выглядел процедурным, но он использует обещания под капотом. Причина в том, что javascript запускает только один поток, поэтому нет «другого» потока, который должен был бы ждать.
Что вы можете сделать, так это сначала запустить какой-то «индикатор загрузки» "чтобы показать пользователю, что материал загружается. Затем вызовите свой асинхронный c материал и дайте ему обратный вызов (например, функцию resolve
обещания), чтобы установить ваше приложение в следующее состояние (т.е. удалить индикатор загрузки и сделать то, что когда-либо будет после). Конечно, вы можете использовать синтаксис await
, чтобы он выглядел и даже звучал как «ожидание», но имейте в виду, что в действительности выполняется только один поток.