Вхід Реєстрація
Реклама
Ваше рекламне місце
Забронюйте цей слот без конкуренції на обраний період.
Купити рекламу →
Логотип телеграм спільноти - Дмитро Охріменко
Додано 06 гру 2025 🌐 UK

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

@okhrimenko_dm
Кількість підписників: 835
Фото: 10
Відео: 3
Посилання: 64
Опис:
💼 Co-Founder: ITVDN та CyberBionic Systematics 🎓 Розробка та консалтинг в сфері IT понад 18 років 💻 Ментор та автор курсів Miй інстаграм https://www.instagram.com/dm.okhrimenko Чат для лампового спілкування - https://t.me/+tVRybZbaI_k1ZThi
Джерело

Дмитро Охріменко | Callback-функцій. Це найпростіший підхід, але він може призвести до за...

Логотип телеграм спільноти - Дмитро Охріменко Дмитро Охріменко @okhrimenko_dm
1 020 Охват/переглядів 2025-09-19 09:18 Повідомлення №89
Callback-функцій.

Це найпростіший підхід, але він може призвести до заплутаного коду, особливо коли одна асинхронна операція запускає іншу, і так утворюється ланцюг.
Уявімо, що маємо функцію downloadImage(url, callback), яка завантажує зображення асинхронно, не блокуючи основний потік. Перший параметр - це адреса зображення, яке потрібно завантажити, а другий - функція, яку буде викликано після завершення завантаження. При цьому саме зображення буде передане як параметр у callback.

Приклад використання:

downloadImage(url1, image => document.body.append(image))

На перший погляд усе просто. Але якщо потрібно завантажити кілька зображень послідовно, код стає менш зрозумілим:

downloadImage(url1, image => {
document.body.append(image);
downloadImage(url2, image => {
document.body.append(image);
downloadImage(url3, image => {
document.body.append(image);
})
})
});

Така вкладена структура швидко ускладнюється, особливо якщо замість одного рядка з DOM-змінами з’являється додаткова логіка. Подібний стиль називають "Pyramid of Doom", і його краще уникати.
Один зі способів спростити обробку асинхронних викликів - це використання Promise.