Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Modul Exportieren des Ergebnisses von async fn

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