SetTimeout() function uses callbacks.
Tough JS is synchronous in nature, Callbacks / Promises / Subscriptions / Event listeners are ways in which you can execute JS code asynchronously .
Callbacks registers your function and execute them when certain event/ conditions occurs.