Recibo el siguiente error:
Service.getUsers is not a functionRecientemente cambié mi código para incluir esta funcionalidad:
async function connectToDatabase(secret) { try { const secretValue = await getSecretPromise(secret) const { host, port, username, password, dbname } = JSON.parse(secretValue); con = mysql.createConnection({ host: host, port: port, user: username, password: password, database: dbname }); con.connect(function(err) { if (err) throw err; console.log("Connected to database!"); }); } catch (error) { console.error(error) } } connectToDatabase(secretName).then(function() { module.exports = { createUser, getUsers, patchUser, loginUser, updateCallForward, getEmail, getCallForwardingNumber, }; });;Básicamente, solo exportará las funciones al controlador si la base de datos está conectada y el valor de con está inicializado (esto asegura que el valor de con no esté indefinido, lo que me ha estado preocupando). Sin embargo, cuando hago esto, se mete con el controlador js y aparece el error anterior.
var accountService = require('./account.service'); router.get('/get-users', getUsers); async function getUsers(req, res, next) { accountService.getUsers().then(function(val) { res.json(val) }); }Creo que esto se debe a la espera que se emplea en service.js. ¿Puedo hacer que el controlador espere a que las funciones se inicialicen a través de la exportación?