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

110
Vistas
Los objetos no se están empujando a la matriz correctamente

Tengo un detector de eventos que escucha los mensajes nuevos y quiero enviar todos los mensajes nuevos a una matriz, pero cuando compruebo el resultado, veo que solo se envían las cadenas .

Este es mi código:

 async function consume() { try { let result = []; const connection = await amqps.connect(URL); const channel = await connection.createChannel(); await channel.consume("messages", function (message) { result.push(JSON.parse(message.content.toString())); }); return result; } catch (error) { console.log(error); } }

Cuando llamo al método de consumo y verifico el resultado, esto es lo que devuelve:

 [ 'yoyo', 'yoyo', 'yoyo', 'yoyo', 'yoyo', 'yoyo', '', 'hi you', 'hi you', 'hi you', 'hi you', 'hi you', 'hi you', 'hi you' ]

Sin embargo, cuando registro JSON.parse(message.content.toString()) desde dentro de la función de escucha, puedo ver los objetos:

 ... hi you hi you hi you { read: false, timeSent: 1645945954348, message: 'Hchxh', userID: 41, contactID: 46 } { read: false, timeSent: 1645945990969, message: 'Gry', userID: 41, contactID: 46 } ...

Este es el resultado al registrar message.content.toString() (sin analizar) desde el oyente:

 "hi you" "hi you" "hi you" {"read":false,"timeSent":1645945954348,"message":"Hchxh","userID":41,"contactID":46} {"read":false,"timeSent":1645945990969,"message":"Gry","userID":41,"contactID":46} {"read":false,"timeSent":1645946032914,"message":"Ti","userID":41,"contactID":46} {"read":false,"timeSent":1645946119720,"message":"Ge","userID":41,"contactID":46} {"read":false,"timeSent":1645946454158,"message":"Beuh","userID":41,"contactID":46} {"read":false,"timeSent":1645948170050,"message":"Xhxh","userID":41,"contactID":46}

¿Alguna idea de lo que estoy haciendo mal?

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

0

Pruebe esta sintaxis:

 async function consume() { try { const connection = await amqps.connect(URL); const channel = await connection.createChannel(); const result = await channel.consume('messages'); return result.content.toString(); } catch (error) { console.log(error); } }

Puede analizarlo si lo desea, aunque no estoy seguro de por qué necesitaría hacerlo.

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