Puede hacer que la exportación sea la Promesa devuelta por createConnection
llamar. También tenga en cuenta que en ES6, puede usar nombres de propiedad abreviados para ser concisos y legibles:
const mysql = require('promise-mysql');
module.exports = mysql.createConnection({
host,
user,
password,
database
});
Luego, los usuarios pueden usarlo llamando a .then
en la Promesa, por ejemplo:
const connectionProm = require('script.js');
connectionProm.then((connection) => {
// do stuff with connection
});
Si no le gusta tener que llamar a .then
en todas partes donde se usa la conexión, una alternativa sería usar la inyección de dependencia para pasar la conexión como argumentos, de modo que la conexión .then
solo tiene que existir en el punto de entrada del script.
// index.js
connectionProm.then((connection) => {
// do stuff with connection
// pass it around as needed
});
// do NOT import or call connectionProm.then anywhere else