Можете да направите експорта обещанието, върнато от createConnection повикване. Също така имайте предвид, че в ES6 можете да използвате съкратени имена на свойства за сбитост и четливост:
const mysql = require('promise-mysql');
module.exports = mysql.createConnection({
host,
user,
password,
database
});
След това потребителите могат да го използват, като извикат .then на Обещанието, напр.:
const connectionProm = require('script.js');
connectionProm.then((connection) => {
// do stuff with connection
});
Ако не ви харесва да се обаждате на .then навсякъде, където се използва връзката, алтернатива би била да се използва инжекция на зависимост за предаване на връзката надолу като аргументи, така че .then на връзката трябва да съществува само във входната точка на скрипта.
// index.js
connectionProm.then((connection) => {
// do stuff with connection
// pass it around as needed
});
// do NOT import or call connectionProm.then anywhere else