我有一个将MySQL作为数据库的节点应用程序。我正在创建一个端点,该端点将用不同的数据更新多行。另外,我使用sequelize作为ORM。
现在我知道我可以像这样更新行
model.update(data).then(()=>{res.end('Row Updated')});
现在我的问题是我应该在哪里调用第二个模型的更新方法。即在传递给then()
的cb函数中或在update.model
方法之后
我的意思是以下哪种做法是最佳做法。
models1.update(data1).then(()=>{console.log('Row 1 Updated')});
model2.update(data2).then(()=>{console.log('Row 2 Updated')});
**OR**
model1.update(data1).then(()=>{
model2.update(data2).then(()=>{console.log('All the rows have been updated')})
});
答案 0 :(得分:3)
以上两个都不正确,因为承诺未正确链接。这阻碍了正确的控制流程和错误处理。
如果查询是独立的,则可以并行执行:
Promise.all([
model1.update(data1),
model2.update(data2)
])
.then(() => {
console.log('All the rows have been updated');
});