let dbResult //insert marker into db await pool.query( 'INSERT INTO markers (title, description, creator, active) VALUES ($1, $2, $3, $4) RETURNING *', [title, description, creator, active], (error, results) => { if (error) { throw error } dbResult = results; }); console.log(dbResult) No estoy seguro de por qué, pero la variable dbResult no se cambia. No tengo mucha experiencia con JavaScript, ¿alguien puede explicar por qué sucede esto?
Tienes que iniciar sesión cuando se cambia:
let dbResult //insert marker into db await pool.query( 'INSERT INTO markers (title, description, creator, active) VALUES ($1, $2, $3, $4) RETURNING *', [title, description, creator, active], (error, results) => { if (error) { throw error } dbResult = results; console.log(dbResult) }); Esto se debe a que la función de devolución de llamada (error, results) => ... se activa después de la línea console.log(dbResult) y, por lo tanto, está imprimiendo el valor obsoleto.
Es posible que desee investigar un poco sobre las funciones de devolución de llamada y async/await en JavaScript para obtener una mejor comprensión.