var logMsg = {
signUp : function () {
return 'SignUp - ' + new Date() + ' : '
}
}
var transActionObj = {
db : undefined,
query : undefined,
data : [],
renderPage : undefined,
logMsg : logMsg.signUp(),
chainMethod : function () {
}
}
var transActioner = function(req, res, dataObj) {
dataObj.db.beginTransaction(function(err) {
if (err) {
throw err;
}
dataObj.db.query(dataObj.query, dataObj.data, function (err, result) {
if (err) {
console.error(err);
dataObj.db.rollback(function () {
console.error('rollback error');
throw err;
});
}// if err
console.log('insert transaction log');
var log = {logid : dataObj.logMsg + ' : ' + req.body.email};
dataObj.db.query('insert into log set ?', log, function (err, result) {
if (err) {
console.error(err);
dataObj.db.rollback(function () {
console.error('rollback error');
throw err;
});
}// if err
dataObj.db.commit(function (err) {
if (err) {
console.error(err);
dataObj.db.rollback(function () {
console.error('rollback error');
throw err;
});
}// if err
if (dataObj.chainMethod != undefined)
{
dataObj.chainMethod();
} else {
res.render(dataObj.renderPage);
}
});// commit
});// insert into log
});// inset into users
}); // begin trnsaction
}
var user = {
email:req.body.nickname,
password:req.body.password
};
var transActionObj = {
db : db,
query : 'insert into user set ?',
data : [user],
renderPage : undefined,
logMsg : logMsg.signUp(),
chainMethod : function () {
var >
master : user.email,
title : 'default'
};
var transActionObj = {
db : db,
query : 'insert into category set ?',
data : [data],
renderPage : 'login.html',
logMsg : logMsg.signUp(),
chainMethod : undefined
};
transActioner(req, res, transActionObj);
}
};
transActioner(req, res, transActionObj);
쿼리 무한 체인 가능, 음하하
188 ㅂㅋㄹ 오토 6방 한꺼번에 돌아간다 로직 200개넘는다 무조건딴다 nete77
로하이 알라딘 통계분석 정보 공유 사요나라오대영