There is an excellent article on promisejs.org detailing how to combine promises with generators to achieve much cleaner code. Instead of the async function the article proposes, you can use Promise.coroutine.

本文部分或完全未完成。 欢迎大家来创建 pull 请求 来帮助完成这篇文章。