async и awaitasync — это ключевое слово, которое объявляет асинхронную функцию. Такая функция всегда возвращает Promise — даже если ты возвращаешь обычное значение, оно автоматически оборачивается в Promise.resolve().
await приостанавливает выполнение внутри функции async до тех пор, пока ожидаемый Promise не завершится (resolve или reject), а затем продолжает работу с полученным значением.
async function fetchData() {
const response = await fetch('https://api.example.com/data');
const data = await response.json();
return data;
}
await приостанавливает только текущую функцию async, а не всю программуawait выполняется только после того, как Promise разрешилсяasync/await делает асинхронный код похожим по виду и поведению на синхронный, избавляя от глубоко вложенных цепочек .then():
.then() с коллбэкамиВместо .catch() на цепочке Promise ошибки обрабатываются стандартным блоком try/catch:
async function fetchData() {
try {
const response = await fetch('https://api.example.com/data');
return await response.json();
} catch (error) {
console.error('Request failed:', error);
}
}
async всегда возвращают Promiseawait можно использовать только внутри функции asyncawaittry/catch — это стандартный способ обработки отклонённых Promise при работе с async/awaitФункция async, которая возвращает обычное значение, например 5, автоматически обернёт это значение в Promise.resolve(), сделав возвращаемое значение resolved Promise.
Новый — ещё не проверен сообществом
Вы