const mysql = require('mysql');
exports.query = (sqlList) => new Promise((outResolve, reject) => {
const connection = mysql.createConnection({
host : '127.0.0.1',
port: '3306',
user : 'xxx',
password : 'xxxx',
database : 'xxx',
});
const obj = {};
// 开始一个事务
connection.beginTransaction((err) => {
obj.err = err;
if(err) {
return outResolve(obj);
};
// 使用 Promise.all 来确保所有插入操作都完成
Promise.all(sqlList.map((item) => {
return new Promise((resolve, reject) => {
connection.query(item.sql, item.values, function(error, results, fields) {
if (error) {
reject(error); // 如果有错误,Promise 将被拒绝
} else {
resolve(results); // 否则,Promise 将被解决
}
});
});
})).then((results) => {
console.log('All orders inserted successfully');
// 如果没有错误,提交事务
connection.commit();
obj.result = results;
outResolve(obj);
}).catch((err) => {
console.error('Error inserting orders:', err);
// 如果有错误,回滚事务
return connection.rollback(() => {
obj.err = err;
outResolve(obj);
// throw err;
});
}).then(() => {
connection.end(); // 关闭连接
});
});
});
02-22
5754
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
02-26
846
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交