Really isn't that bad, although you have to know promises. With regular callbacks, I guess you have to know that functions can be passed as arguments, but you'll have to learn that quite soon regardless.
Lol, asynchronous is harder to reason about than synchronous. Plus just about anything goes in the browser. You can put anything anywhere and alot of things are global by default! And as a noob you have enough on your plate learning OOP and
REST. I'm glad I started with Ruby and Java and got really good at OOP and clean compartmentalized code before jumping into the madness that is browser land. Just my opinion.
Passing functions and lambdas and closures is not what newbies are learning...That's like saying: "building bridges isn't hard, you just have to learn kinematics and materials science...But you have to learn that anyway.."