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

635
Vistas
UnhandledPromiseRejectionWarning: Error: El cliente está cerrado en NodeJS y Redis

Estoy implementando Access Token de Refresh Token usando JWT para la función de inicio de sesión en la aplicación NodeJS . Estoy tratando de usar Redis para almacenar el Refresh Token , pero obtengo el siguiente código:

redis.js

 const redis = require('redis'); require('dotenv').config({ path : __dirname + '/../config/env/.env' }); let redisClient; redisClient = redis.createClient(6379, '127.0.0.1'); module.exports = redisClient;

authRoute.js

 'use strict'; const JwtUtil = require('../../middlewares/jwt-util'); const redisClient = require('../../middlewares/redis'); const authRouter = require('express').Router(); const jwt = new JwtUtil(); authRouter.post('/user-token/generate', (req, res, next) => { const accessToken = jwt.sign(req.body); const refreshToken = jwt.refresh(); redisClient.set(req.body.id, refreshToken); res.status(200).send({ result : 'success', data : { accessToken, refreshToken } }); }); module.exports = authRouter;

He impreso varios registros, pero parece que redisClient.set(req.body.id, refreshToken); en authRoute.js . Parece que hay un error en.

UnhandledPromiseRejectionWarning: Error: El cliente está cerrado

(nodo: 24640) UnhandledPromiseRejectionWarning: Rechazo de promesa no manejado. Este error se originó al lanzar dentro de una función asíncrona sin un bloque catch o al rechazar una promesa que no se manejó con .catch(). Para finalizar el proceso del nodo en caso de rechazo de la promesa no controlada, utilice la marca CLI --unhandled-rejections=strict (consulte https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode ). (Id. de rechazo: 2) (nodo: 24640) [DEP0018] Advertencia de desuso: los rechazos de promesa no controlados están en desuso. En el futuro, los rechazos de promesas que no se controlen terminarán el proceso de Node.js con un código de salida distinto de cero.

Access Token de Refresh Token se emiten normalmente. Además, el siguiente código no funciona. No estoy seguro de cómo debo reescribir el código. ¿Qué tengo que hacer?

 redisClient.on('connection', () => { console.info('Redis connected!'); }

Aunque estoy usando Windows , descargué Redis , realicé una prueba de ping y confirmé que el servidor se está ejecutando.

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

0

Por ahora, puedo resolver parcialmente para obtener datos, pero para establecer datos aún no se ha hecho para redis v4. #redis #v4 #redisv4

 app.get('/data',(req,res) => { // check in redis first //console.log(">>>>url",url) (async () => { const userInput = (req.query.country).trim() const url = `https://en.wikipedia.org/w/api.php?action=parse&format=json&section=0&page=${userInput}` const client = createClient({ host:'localhost', port:6379}); client.on('error', (err) => console.log('Redis Client Error', err)); await client.connect(); const response = await client.get(`${userInput}`) if(response){ const output = JSON.parse(response); res.send(output) } })(); })
about 4 years ago · Juan Pablo Isaza Denunciar

0

Implemento connect to redis v6.2 de esta manera en el archivo de inicio index.js.

 const redis = require('redis'); const redisCache = createClient({ url: redis://localhost:6379 }); redisClient.on('connect', () => console.log('Connected to Redis!')); redisClient.on('error', (err) => console.log('Redis Client Error', err)); redisClient.connect(); module.exports = redisClient;
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