Einführung
In diesem Lab werden wir untersuchen, wie man in JavaScript überprüft, ob ein gegebener Argument ein lesbarer Stream ist. Wir werden lernen, wie man den typeof-Operator verwendet, um den Typ des Arguments zu überprüfen, und wie man auf die _read- und _readableState-Eigenschaften eines Streams zugreift. Am Ende dieses Labs werden Sie ein besseres Verständnis dafür haben, wie man mit Streams in JavaScript umgeht.
Überprüfen, ob ein Stream lesbar ist
Um zu überprüfen, ob ein gegebener Argument ein lesbarer Stream ist, folgen Sie diesen Schritten:
- Öffnen Sie zunächst das Terminal/SSH und geben Sie
nodeein, um mit der Codeausführung zu beginnen. - Überprüfen Sie, ob der Wert nicht
nullist. - Verwenden Sie
typeof, um zu überprüfen, ob der Wert einobjectist und diepipe-Eigenschaft einefunctionist. - Überprüfen Sie zusätzlich, ob der
typeofder_read- und_readableState-Eigenschaften jeweilsfunctionundobjectist.
Hier ist eine Beispielfunktion, die diese Schritte implementiert:
const isReadableStream = (val) =>
val !== null &&
typeof val === "object" &&
typeof val.pipe === "function" &&
typeof val._read === "function" &&
typeof val._readableState === "object";
Sie können diese Funktion verwenden, um zu überprüfen, ob ein Stream lesbar ist, wie folgt:
const fs = require("fs");
isReadableStream(fs.createReadStream("test.txt")); // true
Zusammenfassung
Herzlichen Glückwunsch! Sie haben das Lab "Stream Is Readable" abgeschlossen. Sie können in LabEx weitere Labs absolvieren, um Ihre Fähigkeiten zu verbessern.