Ответ
then и async/await — оба подхода для работы с промисами, но с разным синтаксисом.
then — цепочка методов для обработки асинхронных операций:
fetch(url)
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error(error));
async/await — синтаксический сахар над промисами, делает код более линейным:
async function fetchData() {
try {
const response = await fetch(url);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}
}
Различия:
async/awaitупрощает чтение кода, избегая вложенныхthen.- Ошибки в
async/awaitловятся черезtry/catch, а вthen— через.catch(). async/awaitтребует обертки вasync-функцию, тогда какthenможно использовать напрямую.
Выбор зависит от стиля, но async/await часто предпочтительнее для сложных сценариев.