Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

203
Visualizações
no se puede obtener el valor de los datos en esta función de devolución de llamada en el nodo y redis

Tengo una aplicación de nodo que usa la base de datos redis para almacenar mis tokens de actualización. Estoy tratando de obtener el valor de los datos aquí en una función de devolución de llamada cuando utilicé el método .get() en redis. Pero no está funcionando. En cartero, cuando hago la solicitud, no devuelve nada. Permanece en 'solicitud de envío' para siempre. Aquí está la función:

 const {get, set} = require('../reditConnect');//coming from redis connection const refreshTokenverify = async (req, res, next) =>{ try{ const payload = jwt.verify(token, process.env.Refresh_Secret) req.user = {userId:payload.userId}; console.log(req.user) await get(payload.userId.toString(), (err, data)=>{ console.log(data) }); next() }catch(err){ return res.status(401).json({message: "Invalid token"}) } };

Aquí está el código de conexión redis:

 const redis = require('redis'); const { promisify } = require("util"); const redis_client = redis.createClient(); redis_client.connect() redis_client.on('connect', function(){ console.log('redis client connected') }); redis_client.on('ready', ()=>{ console.log("client is connected to redis and ready to use..") }); redis_client.on('error', (err)=>{ console.log(err) }); redis_client.on('end', ()=>{ console.log('client diconnected from redis') }); process.on('SIGINT', ()=>{ redis_client.quit() }) const get = promisify(redis_client.get).bind(redis_client); const set = promisify(redis_client.set).bind(redis_client) module.exports = { get, set }

¿Cómo me acerco a esto? El código deja de funcionar en console.log(req.user) Obtengo un console.log para eso, pero la solicitud nunca termina, permanece enviando la solicitud cuando utilicé cartero.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

promisify devolverá la promesa para que no necesite usar la devolución de llamada.

usa esta linea

 const data = await get(payload.userId.toString());

en lugar de esta línea

 await get(payload.userId.toString(), (err, data)=>{ console.log(data) });
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda