按理说 promise.all 里异步是并行的 for of 循环做异步操作是串行的 在 promise.all 方法里运行时间应该更短,但是遇到了问题? 为什么在 promise.all()方法中做 mongoDB 的查询操作 要比在 for of 里的做同样的操作时间更久
async function test(){
let userItem=await User.find({},{uid:1,_id:0}).limit(10)
console.time('程序耗时 1')
for(var item of userItem){
await User.findOne({
uid:item.uid
})
}
console.timeEnd('程序耗时 1')
console.time('程序耗时 2')
await Promise.all(userItem.map(async item=>{
let user=await User.findOne({
uid:item.uid
})
return user
}))
console.timeEnd('程序耗时 2')
}
程序耗时 1: 32.129ms
程序耗时 2: 3025.852s
感觉 promise.all 方法查询完之后卡了好久才返回结果 猜测是数据库的连接问题吗?? 求大佬解答!
