Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

158
Vistas
tratando de usar express y redis para hacer una página web de inicio de sesión

Estoy tratando de hacer una página de inicio de sesión simple. Tengo que hacerlo para un proyecto universitario. El problema es bastante simple, estoy tratando de usar redis para que sea la base de datos para los usuarios y las contraseñas. El problema es que no puedo extraer los valores de la respuesta que obtengo de redis. Tengo una ventana acoplable que ejecuta la imagen de redis y todo se conecta. En el siguiente ejemplo, intento hacer un cambio booleano simple de verdadero a falso. de acuerdo con los datos dentro de la clave (estoy usando "a" como la clave) pero no importa lo que haga, el valor no parece cambiar, vale la pena señalar que soy muy nuevo en esto y en js en particular, leí en la api de redis que todas las funciones son asíncronas, intenté cambiar el código pero no ayudó.

 app.get('/enter', (req, res) => { var username =req.query.user; var password = req.query.pass; ans = false redis.get(username,function(err, reply) { if(reply != null ) ans = true; }) console.log(ans); })

Solo intento verificar que la clave tenga un valor. Traté de crear una variable antes y después de la solicitud, pero no se ajusta. Gracias por su tiempo.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Veo que no comprende los conceptos básicos de las devoluciones de llamada y el comportamiento asincrónico de javascript.

Bueno, puedes codificar así:

 app.get('/enter', async (req, res) => { var username =req.query.user; var password = req.query.pass; ans = false let reply = await getUsername(username) console.log(reply) console.log(ans); }) function getUsername(username) { return new Promise((res, rej) => { redis.get(username, function(err, reply) { if(err) rej(err) res(reply) }) }) }

Simplemente puede prometer su código redis con una new Promise y luego puede usar el estilo async / await en él

De lo contrario, debe escribir su código en la devolución de llamada que conduce a un infierno de devolución de llamada si tiene más código

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda