tgoop.com/proglib_academy/3089
Create:
Last Update:
Last Update:
Многие используют эти конструкции, совершенно не понимая, что там под капотом. Давайте разберёмся, как работают эти конструкции и почему именно они делает твой код чище и понятнее.
• async: ключевое слово перед функцией делает её асинхронной. Это означает, что она всегда возвращает промис, даже если вы явно не указали это.
Например:
async function fetchData() {
return "Данные получены";
}
fetchData().then(console.log); // Выведет: "Данные получены"
await: используется внутри асинхронной функции. Заставляет код «подождать» завершения промиса, после чего возвращает его результат.
async function fetchData() {
let promise = new Promise((resolve) => {
setTimeout(() => resolve("Данные получены"), 2000);
});
let result = await promise;
console.log(result); // Выведет: "Данные получены" через 2 секунды
}
fetchData();
Стандартный блок try...catch:
async function fetchData() {
try {
let response = await fetch('https://api.example.com/data');
let data = await response.json();
console.log(data);
} catch (error) {лол
console.error('Ошибка:', error);
}
}
fetchData();
• Упрощение кода: асинхронный код становится более читаемым и похожим на синхронный, что облегчает его понимание и поддержку.
• Избегание «адской пирамиды колбэков»: async/await помогает избежать глубокой вложенности, характерной для колбэков.
Этот подход упрощает работу с промисами и делает код более линейным и читаемым.
#буст