Async/await
По сути, это просто «синтаксический сахар» для получения результата промиса, более наглядный, чем promise.then.
Ключевое слово async перед объявлением функции:
- Обязывает её всегда возвращать промис.
- Позволяет использовать await в теле этой функции.
Ключевое слово await перед промисом заставит JavaScript дождаться его выполнения, после чего:
- Если промис завершается с ошибкой, будет сгенерировано исключение, как если бы на этом месте находилось
throw. - Иначе вернётся результат промиса.
Вместе они предоставляют отличный каркас для написания асинхронного кода. Такой код легко и писать, и читать.
Хотя при работе с async/await можно обходиться без promise.then/catch, иногда всё-таки приходится использовать эти методы (на верхнем уровне вложенности, например). Также await отлично работает в сочетании с Promise.all, если необходимо выполнить несколько задач параллельно.
🚀 Источник: https://learn.javascript.ru/async-await