Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

108
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!