Open In App

JavaScript Symbol asyncIterator Property

Last Updated : 19 May, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

JavaScript Symbol asyncIterator property is used to set an object as an async iterable. Iterable properties of this object can be iterated over using a for await…of loop.

An async iterable object is any object that returns a function that produces an AsyncIterator for its Symbol.asyncIterator property.

The Symbol.asyncIterator symbol is a built-in symbol that is used to access an object’s @@asyncIterator method. 

Note: For an object to be an async iterable, it must have a Symbol.asyncIterator key.

Property attributes of Symbol.asyncIterator
Writable no
Enumerable no
Configurable no

Example codes for the above property are as follows:

Example 1:

Javascript




const GFG = {
    async*[Symbol.asyncIterator]() {
        let i = 0;
        while (i < 10) {
            if (i % 3 == 0) {
            yield i;
        }
        i++;
    }
}
  
};
  
(async () => {
    for await (const x of GFG) {
    console.log(x);
    }
})();


Output: 

0
3
6
9

Example 2:

Javascript




const myAsyncIterable = {
  
  async*[Symbol.asyncIterator]() {
  
      let i = 0;
      while (i < 5) {
        yield i++;
      }
  }
};
  
(async () => {
  for await (const num of myAsyncIterable) {
  console.log(num + "<br>");
  }
})();


Output

0
1
2
3
4

Browser Support: The browsers supported by JavaScript Symbol.asyncIterator Property are listed below:

  • Google Chrome
  • Firefox
  • Edge
  • Opera
  • Safari

We have a complete list of Javascript symbols’ properties and methods, to check those please go through the Javascript Symbol Complete Reference article.



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads