Ich versuche Streams zu lernen und habe ein kleines Problem, damit es richtig funktioniert.Wie implementiere ich einen grundlegenden Knoten Stream.Readable Beispiel?
In diesem Beispiel möchte ich einfach ein statisches Objekt in den Stream schieben und dieses an meine Serverantwort leiten.
Hier ist, was ich bisher habe, aber eine Menge davon funktioniert nicht. Wenn ich den Stream auch nur an die Konsole ausgeben könnte, kann ich herausfinden, wie er ihn an meine Antwort weiterleitet.
var Readable = require('stream').Readable;
var MyStream = function(options) {
Readable.call(this);
};
MyStream.prototype._read = function(n) {
this.push(chunk);
};
var stream = new MyStream({objectMode: true});
s.push({test: true});
request.reply(s);
Ich bin verwirrt darüber, wie Sachen in den Stream zu schieben. Ich sehe, du schiebst Foobar, aber ich muss Sachen in die Mystream-Instanz schieben. Wie mache ich das? – doremi
Haben Sie den Code ausgeführt? Der Funktionsaufruf 'this.push()' bedeutet, dass * die Daten in die Lesewarteschlange * geschoben werden. Das bedeutet, dass alles, was Sie pushen, für die Konsumenten des Streams verfügbar ist (hier ist das der Stream "process.stdout"). –
Sie sollten auch das [Stream-Handbuch] (https://github.com/substack/stream-handbook) lesen, insbesondere den Abschnitt * Erstellen eines lesbaren Streams *. –