Если ваш код then
возвратил обещание вместо вызова console.log
, ваш первый пример будет await
, но ваш второй не будет.
Когда вы используете async/await
, вы поймаетеваши отказы в try/catch
блоках.Ваш код будет менее вложенным и понятным.
Использование then
часто приводит к увеличению вложенности и затрудняет чтение кода.
Вы можете await
что угодно, независимо от того, возвращает ли онpromise
.Иногда это будущее, вызывающее метод, который однажды может стать асинхронным или просто вернуть обещание без объявления асинхронного.
Недостатками являются сложность, производительность и совместимость, и все они бледнеют по сравнению с выигрышами.
Я считаю, что если вы полагаетесь на возвращаемое значение функции после ее вызова, и оно становится или может в конечном итоге стать асинхронным, украсьте вызов своих функций с помощью await
к радости вашего сердца, независимо от того, является ли она текущей асинхронной иливозвращает обещание.