Node.js 中 mysql 事务的写法
作者:互联网
最近做一个公司内部的信息化平台,本着短平快,选择了 Nodejs + Express + Vue + mysql/mongodb 的技术路线.
该写法主要利用了递归,下面把事务的写法记录一下,做了简单的封装:
const mysql = require('mysql') const cfg = require('../appConfig.json') var sqlpool = mysql.createPool(cfg.mysql) const conns = { sqlpool: sqlpool, transaction(SQLs, res) { this.sqlpool.getConnection((err, conn) => { if (err) { res.status(400).end() return } conn.beginTransaction(err => { if (err) { res.status(400).end() return } this.exeQuery(conn, SQLs, res) }) }) }, exeQuery(con, SQLs, res) { if (!SQLs.length) { con.commit(function (err) { if (err) { res.status(400).end() return con.rollback() } res.status(200).end() }) } let s = SQLs.shift() con.query(s, err => { if (err) { con.rollback() res.status(400).end() return } this.exeQuery(con, SQLs, res) }) } } module.exports = conns
不开心,码几行字.
标签:Node,status,err,res,SQLs,js,mysql,con 来源: https://www.cnblogs.com/ShengunErshu/p/14139687.html