Node.js 从多个表进行续集销毁

Node.js 从多个表进行续集销毁,node.js,sequelize.js,Node.js,Sequelize.js,我想从多个表中逐个删除记录。在一个路由器下,我怎么能一个接一个地调用下面的销毁函数 function deleteFromTable1(param1, transaction) { return table1_model.destroy({ where: { param1 }, transaction }); } function deleteFromTable2(param1, transaction) { return table2_model.destroy(

我想从多个表中逐个删除记录。在一个路由器下,我怎么能一个接一个地调用下面的销毁函数

function deleteFromTable1(param1, transaction) {
  return table1_model.destroy({
    where: { param1 },
    transaction
  });
}

function deleteFromTable2(param1, transaction) {
  return table2_model.destroy({
    where: { param1 },
    transaction
  });
}

function deleteFromTable3(param1, transaction) {
  return table2_model.destroy({
    where: { param1 },
    transaction
  });
}
当你说

在单个路由器下

我假设您有一个类似于
Node.js
Express.js
应用程序的设置,其中您的路线和处理程序如下所示:

app.post('/delete',函数(req,res){
//从数据库中删除一些项目
})
在这种情况下,您可以执行以下操作:

功能删除项(请求、恢复){
//既然Sequelize'destroy'调用返回承诺,
//你可以把它们都用“承诺”来包装`
//并“等待”所有问题“解决”(完成)
常量handleSuccessfulDelete=()=>{
res.status(200).json({
现状:200,
信息:“好的”
})
}
常量句柄错误=(错误)=>{
// ...
}
我保证([
deleteFromTable1(参数1,事务),
删除表2(参数1,事务),
deleteFromTable3(参数1,事务)
])
.然后(HandleSuccessfulDelete)
.catch(把手错误)
}
app.post('/delete',deleteItems)
这样,所有删除调用都会在返回
success
响应之前完成


或者,如果您需要按顺序拨打电话,则可以执行以下操作:

功能删除项(请求、恢复){
常量handleSuccessfulDelete=()=>{
// ...
}
常量句柄错误=(错误)=>{
// ...
}
deleteFromTable1(参数1,事务)
.然后(()=>deleteFromTable2(参数1,事务))
.然后(()=>deleteFromTable3(参数1,事务))
.然后(HandleSuccessfulDelete)
.catch(把手错误)
}
app.post('/delete',deleteItems)

这里有一个例子-

我已经试过了。我的senario在表之间有一些依赖关系。所以我需要依次执行第二种方法呢?我已经编辑了我的答案