Запропонувати правкуПокращити цю статтюДопрацюйте відповідь до «Асинк/синк callback». Ваші зміни проходять модерацію перед публікацією.Потрібне підтвердженняКонтентЩо ви змінюєте🇺🇸EN🇺🇦UAПереглядЗаголовок (UA)Коротка відповідь (UA)**Синхронний callback** виконується **одразу**, у тому ж стеку викликів, а **асинхронний callback** викликається **пізніше**, у наступному циклі подій (event loop), наприклад через таймер, запит чи подію. **Ключове:** `array.map(fn)` - приклад синхронного callback, а `setTimeout(fn, 0)` чи `fetch().then(fn)` - приклад асинхронного.Показується над повною відповіддю для швидкого нагадування.Відповідь (UA)Зображення### Синхронний callback > Виконується **одразу**, під час виклику основної функції. > Тобто - **у тому ж стеку викликів** (до завершення поточної функції). Приклад: ```javascript function process(callback) { console.log('До колбека'); callback(); // виконується негайно console.log('Після колбека'); } process(() => console.log('Синхронний callback')); ``` Вивід: ```javascript До колбека Синхронний callback Після колбека ``` Все виконується **по порядку**, без затримок. --- ### Асинхронний callback > Викликається **пізніше**, після завершення поточного коду - > наприклад, за таймером, після запиту, події тощо. > Тобто - **у наступному циклі подій (event loop)**. Приклад: ```javascript function processAsync(callback) { console.log('До колбека'); setTimeout(callback, 0); // виконається пізніше console.log('Після колбека'); } processAsync(() => console.log('Асинхронний callback')); ``` Вивід: ```javascript До колбека Після колбека Асинхронний callback ``` Колбек виконується **не одразу**, а після того як стек викликів звільниться. --- **Коротко:** | Тип | Коли виконується | Приклад | |---|---|---| | **Синхронний** | Одразу, під час виклику | `array.map(fn)` | | **Асинхронний** | Пізніше, після основного коду | `setTimeout(fn, 0)`, `fetch().then(fn)` |Для рев’юераПримітка для модератора (необов’язково)Бачить лише модератор. Прискорює рев’ю.