Вопрос проверяет понимание преимуществ async/await перед цепочками then/catch.
async/await делает асинхронный код:
Читаемым (похож на синхронный).
Удобным для отладки (стек вызовов не «разрывается»).
Лёгким в обработке ошибок (через try/catch).
Сравнение стилей:
Promise:
fetchData()
.then(data => process(data))
.catch(error => console.error(error));async/await:
try {
const data = await fetchData();
process(data);
} catch (error) {
console.error(error);
}Преимущества async/await:
Нет «адской» вложенности (then внутри then).
Ошибки ловятся стандартным try/catch.
Упрощает работу с циклами (for, map).
Когда использовать Promises:
Параллельные запросы через Promise.all().
Работа с библиотеками, которые возвращают Promise.
Вывод:async/await — это синтаксический сахар над Promise, который делает код чище.