对sequelize findAndCountAll的结果进行异步修改,怎么保持顺序不变

发布于 2022-09-04 21:56:02 字数 534 浏览 6 评论 0

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

七秒鱼° 2022-09-11 21:56:02

笨办法,操作完成后补一次js排序 .sort(),抛砖引玉,楼下继续。

じ违心 2022-09-11 21:56:02

我的方法是: 先提取model中students结果的id,到数组ids,然后一次性从model2中获取所有的相关信息,然后用2重循环,根据id一一插入对应数据,暂时用的就是这种方法

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文