Adv0cat
Погодите, поправьте меня, если не прав, но в js асинхронщина по сути происходит только при аякс запросе и всё, ну еще воркеры, но остальное время js поток не отпускает, даже при евентах, т.е. если стоит таймаут, то больше ничего не происходит кроме ожидания таймаута.
В NodeJS весь I/O - асинхронный, там для этого есть пул из потоков, а у самого цикла событий есть фазы, одна из которых - это запустить таймеры с наименьшей задержкой.