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