Для чего нужен async?
Асинхронность и Event Loop
`async` нужен, чтобы объявить асинхронную функцию: она всегда возвращает промис и позволяет использовать внутри `await`.
Что делает async
- Помечает функцию как асинхронную.
- Функция всегда возвращает промис: возвращённое значение оборачивается в
Promise.resolve, аthrow— вPromise.reject. - Разрешает применять
awaitвнутри для ожидания промисов.
async function getData() {
return 42;
}
getData().then((v) => console.log(v)); // 42 — вернулся промисasync + await
async function loadUser(id) {
const res = await fetch(`/users/${id}`);
return res.json();
}await приостанавливает функцию до разрешения промиса, не блокируя основной поток.
Обработка ошибок
async function safe() {
try {
const data = await loadUser(1);
} catch (e) {
console.error(e); // ловит reject
}
}Зачем нужен
- Пишет асинхронный код в синхронном виде.
- Заменяет длинные цепочки
.then()на читаемую последовательность. - Удобная обработка ошибок через
try/catch.
Коротко для собеседования
async делает функцию асинхронной: она всегда возвращает промис и разрешает await внутри. Позволяет писать асинхронный код в синхронном стиле с try/catch вместо цепочек .then().