Vous pouvez faire en sorte que l'exportation soit la promesse renvoyée par createConnection
appel. Notez également que dans ES6, vous pouvez utiliser des noms de propriété abrégés pour plus de concision et de lisibilité :
const mysql = require('promise-mysql');
module.exports = mysql.createConnection({
host,
user,
password,
database
});
Ensuite, les utilisateurs peuvent l'utiliser en appelant .then
sur la promesse, par exemple :
const connectionProm = require('script.js');
connectionProm.then((connection) => {
// do stuff with connection
});
Si vous n'aimez pas devoir appeler .then
partout où la connexion est utilisée, une alternative serait d'utiliser l'injection de dépendances pour transmettre la connexion en tant qu'arguments, de sorte que le .then
de la connexion doit seulement exister dans le point d'entrée du script.
// index.js
connectionProm.then((connection) => {
// do stuff with connection
// pass it around as needed
});
// do NOT import or call connectionProm.then anywhere else