Você pode fazer com que a exportação seja a Promise retornada pelo
createConnection
ligar. Observe também que no ES6, você pode usar nomes de propriedade abreviados para concisão e legibilidade:const mysql = require('promise-mysql');
module.exports = mysql.createConnection({
host,
user,
password,
database
});
Em seguida, os usuários podem usá-lo chamando
.then
na Promessa, por exemplo:const connectionProm = require('script.js');
connectionProm.then((connection) => {
// do stuff with connection
});
Se você não gosta de chamar
.then
em todos os lugares em que a conexão está sendo usada, uma alternativa seria usar injeção de dependência para passar a conexão como argumentos, para que o .then
da conexão só precisa existir no ponto de entrada do script. // index.js
connectionProm.then((connection) => {
// do stuff with connection
// pass it around as needed
});
// do NOT import or call connectionProm.then anywhere else