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

178
Visualizações
Promisify Redis ingresa a Typecript y devuelve un error de rechazo de promesa no manejado

Intento prometer el redis.get para poder usarlo, pero aparece este error:

UnhandledPromiseRejectionWarning: Error [ERR_HTTP_HEADERS_SENT]: no se pueden establecer encabezados después de que > se envían al cliente en ServerResponse.setHeader (_http_outgoing.js:561:11) en ServerResponse.header (C:\Users\User\Desktop\url-shortener\node_modules \express \lib\response.js:771:10) en ServerResponse.ubicación (C:\Users\User\Desktop\url-shortener\node_modules\express \lib\response.js:888:15) en ServerResponse.redirect ( C:\Users\User\Desktop\url-shortener\node_modules\express \lib\response.js:926:18) en C:\Users\User\Desktop\url-shortener\src\controllers\url.controller.ts :52:14 en Generator.next () en cumplido (C:\Users\User\Desktop\url-shortener\src\controllers\url.controller.ts:5:58) en runMicrotasks () en processTicksAndRejections (interno/proceso /task_queues.js:95:5) (nodo:6772) 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 terminar

Aquí está mi código:

 import util from "util" import { Request, Response } from 'express' import url from '../models/Url.model' import client from '../redis' const redisGetAsync = util.promisify(client.get).bind(client) const redisGetAsync = util.promisify(client.get).bind(client) export async function redirectToUrl(req: Request, res: Response) { try { const { identifier } = req.params const data = await redisGetAsync(`${identifier}`) if (data) { return res.redirect(JSON.parse(data)) } // Query the database const result = await url.findOne({identifier}).exec() if (!result) { return res.sendStatus(404) } return res.redirect(result.redirectTo) } catch (error) { console.log('Error fetching URL >>> ', error) } }

Y mi redis importado:

 import redis from 'redis' import dotenv from 'dotenv' dotenv.config() const REDIS_CONNECT: string = process.env.REDIS_URL || '6379' const client = redis.createClient(REDIS_CONNECT) client.on('error', function(error) { console.log('Redis connect error >>> ', error) }) export default client

No sé qué estoy haciendo mal. Gracias por tu ayuda

about 4 years ago · Juan Pablo Isaza
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