Hi,
I have been recently using ES6 to write lots of async js code, I'm feeling async code is difficult to understand and maintain even with the Promise/A+ support, I have a small library that can simplify the async code, it introduces some pseudo keywork such as FOR..DO.., IF...THEN...ELSE, BREAK, CONTINUE, TRY...CATCH...FINALLY, THROW, so the code looks much like synchronous code however it is asynchronous under the hood, the code looks much easier to understand and maintain if you look at the examples.
Check it out at
https://github.com/stonezhong/cigar
Thanks,
Stone