Ich suchte das Web und die Dokumentation für node.js
express
Modul und es scheint, gibt es keine Möglichkeit, Daten nach Teilen zu senden. Ich habe eine Datei nicht sehr schnell gerendert und ich möchte Teile davon senden, bevor alles gerendert wird.Senden Sie Daten nach Teilen in node.js express
hier sind also meine Fragen:
- Gibt es eine Methode auf
response
Daten durch Teile zu schicken? - Was bedeutet
response.end()
? - Wenn es keine Möglichkeit gibt, Daten nach Teilen zu senden - was ist der Grund dafür? Ich würde sagen, es sieht eher blockierend als nicht blockierend aus, wenn das stimmt. Der Browser kann Informationen schneller laden, wenn Daten früher angegeben werden.
Probe vereinfacht Code:
app.get(..) {
renderFile(file, function(data) {
response.send(data);
});
response.end();
)
Dieses Stück Code nur den ersten Datenblock sendet. Ich habe überprüft - Daten ist richtig angegeben und Callback wird mehr als einmal aufgerufen.
Natürlich kann ich Daten an die eine Variable anhängen und dann schreiben response.send(data);
, aber ich mag diesen Ansatz nicht - es ist nicht die Art, wie es funktionieren sollte.
Bitte an der Rohrleitung erarbeiten und eine geben Beispiel. Ich denke, dies wäre für viele Menschen sehr relevant, da es in vielen Fällen eine bessere Lösung ist. –
@NielsAbildgaard Ich kann kein konkretes Beispiel geben, da der Code in der Frage keinen Kontext dafür liefert, woher die Daten kommen. 'sourceStream.pipe (response)' wird den Trick machen. – Brad