promise与回调函数形式性能有区别吗?
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方式来写,基本跟同步一样了。烧脑还是没理解透彻。弄熟了就不烧了
语言层级上的没什么区别吧