Можете да направите експорта обещанието, върнато от 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