Skip to main content

Асинк/синк callback

Синхронний 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)

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.