Sie können den Export zum Promise machen, das von createConnection
zurückgegeben wird Anruf. Beachten Sie auch, dass Sie in ES6 aus Gründen der Prägnanz und Lesbarkeit abgekürzte Eigenschaftsnamen verwenden können:
const mysql = require('promise-mysql');
module.exports = mysql.createConnection({
host,
user,
password,
database
});
Dann können Benutzer es verwenden, indem sie .then
aufrufen auf das Versprechen, zB:
const connectionProm = require('script.js');
connectionProm.then((connection) => {
// do stuff with connection
});
Wenn Sie nicht gerne .then
aufrufen müssen Überall dort, wo die Verbindung verwendet wird, wäre eine Alternative, die Abhängigkeitsinjektion zu verwenden, um die Verbindung als Argumente weiterzugeben, sodass der .then
der Verbindung muss nur im Einstiegspunkt des Skripts vorhanden sein.
// index.js
connectionProm.then((connection) => {
// do stuff with connection
// pass it around as needed
});
// do NOT import or call connectionProm.then anywhere else