从个人的使用情况来看:
Async 更倾向于对 Js 回调的优化。序列化的操作,并行的操作等都需要封装到一起去执行,统一设定一个回调。拆分逻辑非常不方便。
Promise 方式的 Q 更像是一种创新,支持常用的所有流程模型,对逻辑的分离也非常方便,不需要你去特定的封装。而且结合 NodeJs 和 Js 的回调规范,有内置的支持。而且还支持通知,延迟,性能也不错,对于 JS 做的事情来说简直就是绝配,如果你真正用懂了 Promise,你也许会欲罢不能
。
推荐一篇文章:Why I am switching to promises?