Iniciar sesión Registro
Anuncios
Tu espacio publicitario
Reserva este slot exclusivo para el periodo elegido.
Comprar publicidad →
Logotipo de la comunidad de telegram - Дмитро Охріменко
Añadido 06 dic. 2025 🌐 UK

Дмитро Охріменко

@okhrimenko_dm
Número de suscriptores: 835
Fotos: 10
Videos: 3
Enlaces: 64
Descripción:
💼 Co-Founder: ITVDN та CyberBionic Systematics 🎓 Розробка та консалтинг в сфері IT понад 18 років 💻 Ментор та автор курсів Miй інстаграм https://www.instagram.com/dm.okhrimenko Чат для лампового спілкування - https://t.me/+tVRybZbaI_k1ZThi
Fuente

Дмитро Охріменко | Async/awaitСупроводжувати синхронний код завжди простіше, ніж асинхрон...

Logotipo de la comunidad de telegram - Дмитро Охріменко Дмитро Охріменко @okhrimenko_dm
1 300 Vistas/Alcance 2025-10-08 10:20 Mensaje №94
Async/await

Супроводжувати синхронний код завжди простіше, ніж асинхронний. У 2012 році в мові C# з’явився синтаксичний цукор, який значно спростив роботу з асинхронними операціями: замість вкладених callback можна було використовувати послідовний синтаксис з новими ключовими словами async та await. Згодом цю концепцію перейняли й інші мови програмування, зокрема Python та JavaScript. В JavaScript підтримку async/await додали у 2017 році.

Призначення ключових слів
async - додається до функції та вказує, що вона завжди повертає Promise.
await - використовується перед об’єктом-промісом, щоб "дочекатися" результату перед виконанням наступних рядків коду.

Перепишемо попередній приклад із завантаженням зображень, використовуючи async/await:

let image = null;

image = await downloadImage(url1);
document.body.append(image);

image = await downloadImage(url2);
document.body.append(image);

image = await downloadImage(url3);
document.body.append(image);

Тепер код виглядає як звичайний синхронний: немає вкладених callback, усе читається рядок за рядком. Можна подумати, що await "зупиняє" виконання, очікуючи на результат промісу. Насправді ж код не блокує основний потік - під капотом він перетворюється на машину станів, де кожен стан описує дію до або після await.

Ще одна перевага async/await - знайомий синтаксис для обробки помилок:

try {
let image = null;

image = await downloadImage(url1);
document.body.append(image);

image = await downloadImage(url2);
document.body.append(image);

image = await downloadImage(url3);
document.body.append(image);
} catch (ex) {
// обробка помилки
}

У результаті асинхронний код виглядає так само зрозуміло, як і синхронний, що значно спрощує його супровід.