Как работать с асинхронностью javascript (node js)?
Не надо с ней бороться, вы не победите.
Нужно понять и использовать. Чтобы понять - прочитать про EventLoop.
Чтобы использовать - прочитать про Promise, и async/await (в свежих версиях, либо с транспилером)
как сделать последовательную операцию, что бы при определенном запросе в браузере не нужно было постоянно оборачивать все в функции и устраивать колбехелл
использовать Promise'ы