javascript - Node js mysql2 - 重用连接
问题描述
对不起,我用了翻译器。我希望你明白。
我在使用 mysql 模块时很好奇。先看代码。
db_promise.js
创建一个池。
const mysql = require('mysql2');
const config = {
host: process.env.DB_HOST,
user: process.env.DB_USER,
password: process.env.DB_PW,
database: process.env.DB_NAME,
connectionLimit: 100,
queueLimit: 10000,
multipleStatements: true,
waitForConnections: true,
dateStrings: 'date'
}
const createPool = mysql.createPool(config, (err)=>{
console.error(err);
});
const pool = createPool.promise();
module.exports = pool;
run.js
Function A
创建一个连接,将其传递给Function B
after use,并继续使用它。
const pool = require('./db_promise.js');
const A = async ()=>{
let conn;
try {
conn = await pool.getConnection();
await conn.query('do stuff1..');
await B(conn);
return;
}catch(e){
console.error(e);
} finally {
conn.release();
}
}
const B = async (conn)=>{
try {
await conn.query('do stuff2..');
return;
}catch(e){
throw e;
}
}
为每个功能创建连接将是一种浪费。当它是关联功能时,只能重用一个连接吗?
解决方案
推荐阅读
- c# - 文本文件输入异常处理 C#
- javascript - 无法在反应本机中使用 fetch 从 json 中获取数据
- python - 用字符串模式映射熊猫系列
- python - 基于一列从 CSV 文件创建多个字典
- angular - 一旦接收到所有流数据,浏览器就会处理流数据。浏览器是否停止服务器端流式传输?
- spring-boot - 从 Spring Boot 低版本迁移到高版本时 JUnit 测试编译错误
- html - 父级水平滚动,子级垂直滚动
- swiftui - 更改已发布变量会自动导航到根视图,同时通过环境对象访问变量。- IOS 14.5
- latex - 乳胶中两个子 .tex 文件之间的交叉引用
- python-3.x - 我正在用 Python 运行一个奇数/偶数游戏,一旦我需要定义一个赢家,我就会卡住