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

191
Views
Cómo enviar una respuesta utilizando dos o más devoluciones de llamada en una solicitud

Estoy usando express y la solicitud POST se ve así

 router.post('/', function(req, res, next){ var data = req.body; getRandom(data, function(value){ res.json({value: value}); }); });

POST se envía a través de ajax y luego actualiza textarea con nuevos datos.

 $.ajax({ type: "POST", url: "/", data: JSON.stringify(datareq), dataType: 'json', contentType: 'application/json', success: function(x){ $.each(x, function(index, value) { $('.textarea').append(value + '\n'); }); }, error: function(x) { console.log(x + 'error'); } });

Cómo enviar esto usando un POST y algunas respuestas. El usuario recibió un dato en el área de texto cuando cb terminó y luego otro dato y así uno hasta el final.

 <textarea> data 1 - 1sec data 2 - 2sec leater data 3 - 3 second later ... </textarea>

Agrego Tiempo (1 segundo...) solo para mostrar que la devolución de llamada tiene mucho que hacer para enviar otra respuesta.

Por supuesto, esto no funciona porque res.send () cerró la conexión y recibí un error

Entonces, ¿cómo lograr mi idea, enviar simultáneamente después de la solicitud posterior? Quiero dar datos de usuario muy rápido, luego otro cuando esté listo sin esperar a todos y luego enviar la respuesta.

about 4 years ago · Santiago Trujillo
1 answers
Answer question

0

no puedes


Razón:

Http cierra la conexión después de enviar la respuesta. No puedes mantenerlo abierto y enviando múltiples respuestas al cliente. HTTP no lo admite.

Solución 1:

Simplemente coloque un temporizador en el lado del cliente y solicítelo periódicamente.

Solución 2 (recomendada):

Use socket y pase datos a través de él. socket.io es la biblioteca de sockets para aplicaciones nodejs . Es muy fácil de usar. Configure una conexión, siga enviando datos desde el servidor y recíbalos del lado del cliente.


Solo para agregar la respuesta. Esta respuesta explica por qué res.send cierra la conexión.

about 4 years ago · Santiago Trujillo 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!