Node.js Sequelize查询执行顺序错误
我有这段代码 我的后创建钩子以错误的顺序执行DB查询Node.js Sequelize查询执行顺序错误,node.js,sequelize.js,hook,Node.js,Sequelize.js,Hook,我有这段代码 我的后创建钩子以错误的顺序执行DB查询 afterCreate: async (instance1, { transaction }) => { const model2 = this.db.getModel('Model2'); // PART 1 const instance2 = await model2.findOne({ where: { id: instance.model2Id }, transaction,
afterCreate: async (instance1, { transaction }) => {
const model2 = this.db.getModel('Model2');
// PART 1
const instance2 = await model2.findOne({
where: { id: instance.model2Id },
transaction,
});
// PART 2
return mission.update({...}, { transaction });
}
当使用BulkCreate(2项)时,我不知道为什么查询执行的顺序是
第一部分(第一)->第一部分(第二)->第二部分(第一)->第二部分(第二)
有什么提示吗
非常感谢。看起来您不是在等待更新完成。尝试:
// PART 2
return await mission.update({...}, { transaction });
您好,我记得,在sequelize的代码中,他们使用Promise.map来处理传递给bulkCreate的多个实例。A promise.map等待解决所有承诺。这意味着承诺同时并行执行。所以你描述的顺序,似乎符合逻辑。