Don't futures/promises help alleviate the last two cons under callbacks ("callbacks swallow exceptions" and "callback after callback gets confusing and hard to debug")?
Odd that they weren't mentioned.
Odd that they weren't mentioned.
But that encapsulation of success or failure does do wonders for helping the swallowing of exceptions, by basically wrapping the async operation in a try/catch that carries it over for you.
"callback after callback gets confusing and hard to debug" - I think it is true even for mature developers