Tengo una matriz de objetos llamada resultado, y son todas las filas dentro de una base de datos SQL. Para acceder a todos los usuarios, he escrito las siguientes líneas:
function getAllUsers() { let sql = 'SELECT * FROM usernames'; db.query(sql, function (err, result) { if (err) throw err; else { console.log(result); return result } }); }En esta función, console.log(result) devuelve lo siguiente:
[ RowDataPacket { id: 8, username: 'username1', password: 'password1', created: 2022-06-04T18:03:20.000Z }, RowDataPacket { id: 9, username: 'username2', password: 'test123', created: 2022-06-04T22:27:08.000Z }, // etc etc etc ... ]Que son todas las filas dentro de la base de datos en una matriz. Sin embargo, cuando lo devuelvo y trato de console.log() dentro de alguna otra función (en este caso, probé en app.listen('3000') pero revisé otras funciones y me dio el mismo resultado) devuelve por alguna razón indefinida, aunque claramente debería devolver la matriz.
app.listen('3000', function () { console.log(getAllUsers()); }); // The console.log(getAllUsers()) returns undefined for some unknown reason¿Cuál es la razón para esto? ¿Cómo puedo solucionarlo y devolver a los usuarios? ¡Gracias por adelantado!