nodejs事务使用总结

粗暴使用

var mysql = require('mysql');
//建立链接
var connection = mysql.createConnection(this.sails.config.connections.myApp);
connection.connect(function(err) {
  if(err){ return next(err); }
});
//外面也能够嵌套for循环
connection.beginTransaction(function(err) {
    //能够嵌套多层,看你心情
    connection.query(sql1, function(err, result) {
        if(err){
            //回滚事务
            connection.rollback(function() { if(err){ return next(err); } });
        }
        connection.query(sql2, function(err, result) {
            if(err){
                connection.rollback(function() { if(err){ return next(err); } });
            }
            //提交事务
            connection.commit(function(err) {
                if(err){
                    connection.rollback(function() { if(err){ return next(err); } });
                }
                //关闭链接
                connection.end();
            });
        });
    });
});
相关文章
相关标签/搜索