sql >> Base de Datos >  >> RDS >> Mysql

Módulo Exportando el resultado de async fn

Puede hacer que la exportación sea la Promesa devuelta por createConnection llamar. También tenga en cuenta que en ES6, puede usar nombres de propiedad abreviados para ser concisos y legibles:

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

Luego, los usuarios pueden usarlo llamando a .then en la Promesa, por ejemplo:

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

Si no le gusta tener que llamar a .then en todas partes donde se usa la conexión, una alternativa sería usar la inyección de dependencia para pasar la conexión como argumentos, de modo que la conexión .then solo tiene que existir en el punto de entrada del script.

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

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