The readable[Symbol.asyncIterator]() method in a Readable Stream is utilized to fully consume the stream.
Syntax:
readable[Symbol.asyncIterator]()
Parameters: This method does not accept any parameters.
Return Value: It returns asyncIterator to fully consume the stream.
Below examples illustrate the use of readable[Symbol.asyncIterator]() method in Node.js:
Example 1:
// Node.js program to demonstrate the // readable[Symbol.asyncIterator]() // method // Include fs module const fs = require( 'fs' );
// Using async function async function print(readable) {
// Setting the encoding
readable.setEncoding( 'utf8' );
let data = '' ;
for await (const chunk of readable) {
data += chunk;
}
console.log(data);
} print(fs.createReadStream( 'input.text' )). catch (console.error);
|
Output:
Promise { <Pending> } GeeksforGeeks
Example 2:
// Node.js program to demonstrate the // readable[Symbol.asyncIterator]() // method // Constructing readable from stream const { Readable } = require( 'stream' );
// Using async function async function * generate() {
yield 'GfG' ;
yield 'CS-Portal' ;
} // Creating readable streams from iterables const readable = Readable.from(generate()); readable.on( 'data' , (chunk) => {
console.log(chunk);
}); console.log( "program ends!!!" );
|
Output:
program ends!!! GfG CS-Portal
Reference: https://nodejs.org/api/stream.html#stream_readable_symbol_asynciterator.