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