繁体   English   中英

排序事务批量更新,然后批量创建

[英]Sequelize Transaction Bulk Update followed by Bulk Create

我正在使用Sequelize事务,并且想知道在顺序执行批量创建之前如何进行批量更新。

我当前的代码是这样的:

 return sequelize.transaction(function(t){ return sequelize.Promise.each(arrToUpdate, function(itemToUpdate){ model.update(itemToUpdate, { transaction: t }) }); //How to do a sequential bulk create after the bulk update is successful in sequelize //transaction? //Bulk Create code would be return model.bulkCreate(itemsArray, { transaction: t }) }); 

我相信你的承诺只是后链接then 第一行应返回一个承诺-所以只需调用then对结果:

return sequelize.transaction(function(t){
  return sequelize.Promise.each(arrToUpdate, function(itemToUpdate){
    model.update(itemToUpdate, { transaction: t })
  }).then((updateResult) => {
    return model.bulkCreate(itemsArray, { transaction: t })
  }, (err) => {
    // if update throws an error, handle it here.
  }); 
});

注:现在你的函数会返回一个承诺,所以无论您的通话功能将不得不使用then获得对结果的句柄。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM