Mit dem mysql2/Versprechen Modul, ich bin ein Connection-Pool wie folgt zu schaffen:npm mysql2: Zu viele Verbindungen, wenn Versprechungen und einen Verbindungspool
import mysql from 'mysql2/promise';
async function getConnection() {
let pool = await mysql.createPool({
connectionLimit: 10,
host:'localhost',
user: 'root',
database: 'customers'
});
return pool.getConnection();
}
export {
getConnection
};
In einer anderen Datei, ich bin diese Funktionalität zugreifen wie dies:
import {getConnection} from '../config/database/mysql';
async function getCustomerAddresses(id){
let conn = await getConnection();
let [rows, fields] = await conn.execute(
`SELECT *
FROM addresses WHERE customer = ?`, [id]);
conn.release();
return rows;
}
Nachdem die Funktion ein paar mal anrufen, ich bin immer die folgende Fehlermeldung:
Zu viele Verbindungen
Was mache ich falsch? Und gibt es einen eleganteren Weg, so muss ich den Aufruf von getConnection() nicht in jeder Funktion enthalten?