U kunt ervoor zorgen dat de export de belofte is die wordt geretourneerd door de createConnection telefoongesprek. Merk ook op dat u in ES6 steno-eigenschapsnamen kunt gebruiken voor beknoptheid en leesbaarheid:
const mysql = require('promise-mysql');
module.exports = mysql.createConnection({
host,
user,
password,
database
});
Dan kunnen gebruikers het gebruiken door .then . te bellen op de belofte, bijv.:
const connectionProm = require('script.js');
connectionProm.then((connection) => {
// do stuff with connection
});
Als je het niet leuk vindt om .then overal waar de verbinding wordt gebruikt, zou een alternatief zijn om afhankelijkheidsinjectie te gebruiken om de verbinding door te geven als argumenten, zodat de verbinding .then hoeft alleen te bestaan in het ingangspunt van het script.
// index.js
connectionProm.then((connection) => {
// do stuff with connection
// pass it around as needed
});
// do NOT import or call connectionProm.then anywhere else