对sequelize findAndCountAll的结果进行异步修改,怎么保持顺序不变
sequelize findAndAll() 获得一个数组,包含学生总数和相关信息的数组count和排序后的rows
await peoples = model.findAndCountAll({
where: {
loginName: name
},
order: updatedAt Desc'
})
对students.rows再异步插入成绩数据,
let result
Promise.all(students.rows.map((student) =>{
await score = model1.findById(student.id,{
attributes: ['score']
})
student.score = score
result.push(student)
}))
但是, 异步操作后获得的result已经不是排序的结果,会出现乱序,如何异步行为顺序执行?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
笨办法,操作完成后补一次js排序 .sort(),抛砖引玉,楼下继续。
我的方法是: 先提取model中students结果的id,到数组ids,然后一次性从model2中获取所有的相关信息,然后用2重循环,根据id一一插入对应数据,暂时用的就是这种方法