No puedo acceder al conjunto de resultados fuera de su alcance.
function getAllProducts() { connection.connect((err) => { if (err) throw err connection.query( 'SELECT * FROM `men`', (err, result) => { if (err) throw err return result }); }) }) } Intenté reasignarlo a una variable creada previamente agregando este let res = null , reemplazando la declaración de retorno con res = result y devolviendo res al final de la función y en su lugar.
También intenté reasignarlo al iterarlo creando una matriz vacía llamada res y reemplazando la declaración de retorno con esto:
result.forEach(element => { res.push(element) }) Puedo registrarlo en la consola reemplazando la declaración de devolución con console.log(result) y funcionaría normalmente e imprimiría el conjunto de resultados.
Estoy empezando a darme cuenta de que tiene algo que ver con la ejecución de la última línea antes de que la devolución de llamada termine de ejecutarse, por lo que no devuelve nada. Se agradece cualquier ayuda que me guíe en la dirección correcta para resolver esto.