Mysql
 sql >> Base de données >  >> RDS >> Mysql

Module Exportation du résultat de fn asynchrone

Vous pouvez faire en sorte que l'exportation soit la promesse renvoyée par createConnection appel. Notez également que dans ES6, vous pouvez utiliser des noms de propriété abrégés pour plus de concision et de lisibilité :

const mysql = require('promise-mysql');
module.exports = mysql.createConnection({
    host,
    user,
    password,
    database
});

Ensuite, les utilisateurs peuvent l'utiliser en appelant .then sur la promesse, par exemple :

const connectionProm = require('script.js');
connectionProm.then((connection) => {
  // do stuff with connection
});

Si vous n'aimez pas devoir appeler .then partout où la connexion est utilisée, une alternative serait d'utiliser l'injection de dépendances pour transmettre la connexion en tant qu'arguments, de sorte que le .then de la connexion doit seulement exister dans le point d'entrée du script.

// index.js
connectionProm.then((connection) => {
  // do stuff with connection
  // pass it around as needed
});

// do NOT import or call connectionProm.then anywhere else