El método readable.unshift() en un flujo legible se utiliza para devolver una parte de los datos al búfer interno. Sin embargo, cuando una secuencia se consume por completo y es necesario «desconsumirla», este método es útil.
Sintaxis:
readable.unshift( chunk, encoding )
Parámetros: Este método acepta dos parámetros como se mencionó anteriormente y se describe a continuación.
- trozo: contiene el trozo de datos para cambiar a la cola de lectura.
- codificación: Contiene el tipo de codificación.
Valor de retorno: este método cambia la porción de datos al búfer interno que puede ser de solo lectura después de volver a llamar al método de lectura.
Los siguientes ejemplos ilustran el uso del método readable.unshift() en Node.js:
Ejemplo 1:
// Node.js program to demonstrate the // readable.unshift() method // Including fs module const fs = require('fs'); // Declaring data var data = ''; // Constructing readable stream const readable = fs.createReadStream("input.text"); // Instructions for reading data readable.on('readable', () => { let chunk; // Using while loop and calling // read method while (null !== (chunk = readable.read())) { // Displaying the chunk console.log(`read: ${chunk}`); } }); console.log("Program ends!!!"); // Calling unshift method readable.unshift(data);
Producción:
Program ends!!! true read: GfG
Ejemplo 2:
// Node.js program to demonstrate the // readable.unshift(chunk[, encoding]) // method // Include fs module const fs = require('fs'); var data = ''; // Create readable stream const readable = fs.createReadStream("input.text"); // Calling setEncoding method readable.setEncoding('utf8'); // Instructions to unshift data readable.on("readable", () => { let data = readable.read(); while (data === "GfG") { readable.unshift(data); data = readable.read(); } }); // Displays that program // is unshifted console.log("Unshifted!!");
Producción:
Unshifted!!
Referencia: https://nodejs.org/api/stream.html#stream_readable_unshift_chunk_encoding .
Publicación traducida automáticamente
Artículo escrito por nidhi1352singh y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA