Du kan göra exporten till löftet som returneras av createConnection
ringa upp. Observera också att i ES6 kan du använda förkortade egenskapsnamn för kortfattadhet och läsbarhet:
const mysql = require('promise-mysql');
module.exports = mysql.createConnection({
host,
user,
password,
database
});
Då kan användare använda den genom att ringa .then
på löftet, t.ex.:
const connectionProm = require('script.js');
connectionProm.then((connection) => {
// do stuff with connection
});
Om du inte gillar att behöva ringa .then
överallt där anslutningen används skulle ett alternativ vara att använda beroendeinjektion för att skicka ner anslutningen som argument, så att anslutningens .then
måste bara finnas i skriptets ingångspunkt.
// index.js
connectionProm.then((connection) => {
// do stuff with connection
// pass it around as needed
});
// do NOT import or call connectionProm.then anywhere else