promise与回调函数形式性能有区别吗?
发布于 9 年前 作者 jiangliqin 8009 次浏览 最后一次编辑是 8 年前 来自 问答

nodejs 异步写成promise风格或者写成回调函数形式,高并发的时候性能上有区别吗?还只是写法形式上的区别,但事实说明我压测时promise形式的性能貌似好些,各位有何高见?

10 回复

promise本质上还是回调啊,只是写法变成链式的了

当然有,但是如果用bluebird的话,这点性能损耗不是大问题

@zstxt1989 本质都是异步的,我也这样觉得,只是链式比回调直观一些

@andyhu 为啥bluebird不是大问题?用es6中的promise呢

据说 bluebird 的性能比目前 node.js 的原生 promise 还要好。抛开性能不说,bluebird 提供更多的 api,好用得不要太多。

我个人觉得写nodejs包装过多会增加理解成本,如果简单两三层回调的话,包不包装成promise问题应该不大吧

就算有promise也仍然烧脑,就书写代码思路流畅度来看,远远不如同步代码。

@jiangliqin es6的promise比bluebird慢。说bluebird不是大问题因为它很快

@zstxt1989 可考虑加babel,用async / await方式来写,基本跟同步一样了。烧脑还是没理解透彻。弄熟了就不烧了

语言层级上的没什么区别吧

回到顶部