MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

NodeJS/ExpressJS invia una risposta di grandi quantità di dati in 1 flusso

http.request() di Node restituisce i dati in pezzi per lo streaming (sarebbe bello se lo affermassero esplicitamente). Quindi è necessario scrivere ogni pezzo nel corpo della risposta di Express, ascoltare la fine del http richiesta (che non è realmente documentato), quindi chiama response.end() per completare effettivamente la risposta.

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();

Dove response è la risposta di Express alla richiesta iniziale del client (chiamata ajax di curl o angular).