【发布时间】:2020-02-13 23:13:15
【问题描述】:
我曾经在PHP 中使用回滚,我想在NodeJS 中实现相同的概念。我正在调用一个将数据插入到database 的函数,如果成功,我将从另一个Model 调用另一个函数将数据插入到另一个table。
我的代码
StoreReport
'use strict';
var sql = require('./db.js');
// IMPORT ANOTHER MODEL
var CashDetailModel = require('./cashDetailModel.js');
var StoreReport =function(storeReport){
this.store_id=storeReport.store_id;
this.cash_expense=storeReport.cash_expense_amount;
}
StoreReport.addNewStoreReport = function (report_details,request,result){
sql.query('INSERT INTO store_report SET ?',report_details, function(err,res){
if(err){
result(err,null);
}else{
var new_cash_detail = new CashDetailModel(report_details);
new_cash_detail.store_report_id=res.insertId;
CashDetailModel.addCashDetail(new_cash_detail,function(err,CashDetailModel){
if(err){
// I NEED TO ROLLBACK IF ERROR OCCURED IN THIS PHASE
res.send(err);
}else{
result(null,res.inserted);
}
})
}
})
}
module.exports = StoreReport;
【问题讨论】:
标签: javascript node.js model-view-controller node-modules rollback