Open In App

Node.js Stream readable[Symbol.asyncIterator]() Method

Improve
Improve
Like Article
Like
Save
Share
Report

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.



Last Updated : 11 Oct, 2021
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads