Вся путанница в ноде из за двух потоков выполнения, синхронного и асинхронного и как оно реализовано. Эта асинхронная очередь через жопу сделана на промисах, и ты не можешь быть уверен что функция асинхронная сработала нормально и отдала результат другой асинхронной функции, надо делать конструкции 10 этажные. Плюс учитывай - шо ни дай божи ты заблокируешь асинхронный поток - всем придет срака.
поток 1, если интересно гугли какие-то видосы про ивент луп от джейка арчибальда например
ну а по теме все давно привыкли как оно работает и всем норм, оно довольно быстро становится просто и естественно