Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Sequelize查询执行顺序错误_Node.js_Sequelize.js_Hook - Fatal编程技术网

Node.js Sequelize查询执行顺序错误

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,

我有这段代码

我的后创建钩子以错误的顺序执行DB查询


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等待解决所有承诺。这意味着承诺同时并行执行。所以你描述的顺序,似乎符合逻辑。