setTimeout()
schedules a callback function to be executed after a specified delay, while setImmediate()
executes a single callback function after the current event loop completes. In practice, setTimeout()
can lead to delays depending on the timer’s accuracy, while setImmediate()
runs right after the I/O tasks in the current phase.