sql >> Base de Datos >  >> NoSQL >> MongoDB

NodeJS/ExpressJS envía respuesta de gran cantidad de datos en 1 flujo

La http.request() de Node devuelve datos en fragmentos para la transmisión (sería bueno si lo indicaran explícitamente). Por lo tanto, es necesario escribir cada fragmento en el cuerpo de la respuesta de Express, escuchar el final de la solicitud http (que no está realmente documentado), y luego llame a response.end() para terminar la respuesta.

var req = http.request(options, function(res)
  {
    res.on( 'data', function(chunk) { response.write(chunk); } );
    res.on( 'end', function() { response.end(); } );
  }
);
req.on('error', function(error) { … });
req.end();

Donde response es la respuesta de Express a la solicitud inicial del cliente (llamada ajax de curl o angular).