再次更新:
之前讲的async效率好些,是针对q promise和绝大多数promise的实现,但是刚看了hacker news上的评论, 有人测试了下好像bluebird比async还快,内存占用也更低。另外我用async做一个比较复杂的东西的时候,发现虽然功能很强,但还是很麻烦代码会变得不容易理解和修改,很不直观。如果promise执行效率比async快的话,还是推荐promise。以后ES6 promise也是内置的了,代码迁移会方便很多。而async方式要想重构代码会比较麻烦。
https://news.ycombinator.com/item?id=6494622 file time(ms) memory(MB)
promiseishBluebird.js 1076 76.08
async.js 2634 113.79
promiseishKew.js 2654 123.50
promiseishQ.js 56508 804.21