Async/await
- это просто syntax sugar
, построенный поверх promises
. Его нельзя использовать с обычными callbacks
или node callbacks
.
Это похоже на promises
, non blocking
, но код asynchronous
выглядит и ведет себя немного как код synchronous
. Это то, что делает его мощным, в этом вся его сила.
У вас не будет слишком много отступов, если вы перейдете с async/await
. Весь ваш код будет линейным и более читабельным.
Все, что может быть достигнуто с помощью promise (.then().catch(0))
, может быть достигнуто с async/await.
Любая функция async
возвращает неявно promise
, и разрешенное значение обещания будет тем, что вы вернете из функции. Даже если вы возвращаете простое значение, а не promise
, оно возвращается в promise
перед возвратом.