This was my first thought. Languages require different design principles. If you're calling JavaScript "spaghetti code", then you're doing it wrong.
He's calling node style callbacks spaghetti code. Which it is, and it's a known problem, and there are several half-baked solutions for it.