都说 bluebird 比 原生 Promise 快。
但我写代码测试下,发现 bluebird 没有比原生 Promise 快,跟设想有点偏差。。。
当然这个测试没有导出 bluebird 比较慢的结论,但表明了,bluebird 并非在所有情况都优于原生 Promise
至于什么情况用 bluebird 比较合适?有经验的来说说
测试代码
'use strict'
const Bluebird = require('bluebird')
const promises = []
const bluebirds = []
for (let i=0; i< 100000; i++) {
promises.push(new Promise((resolve) => {
setTimeout(() => {
resolve(i)
}, 1)
}))
bluebirds.push(new Bluebird((resolve) => {
setTimeout(() => {
resolve(i)
}, 1)
}))
}
const start = new Date()
Bluebird.all(bluebirds).then(res => {
console.log('=====')
console.log(`bluebird: ${new Date() - start}`)
})
Promise.all(promises).then(res => {
console.log('=====')
console.log(`promise: ${new Date() - start}`)
})
测试环境:
os:unbuntu 16 node版本切换工具:n i7,16g内存