Wednesday, July 3, 2024
HomeLanguagesJavascriptJavaScript Symbol asyncIterator Property

JavaScript Symbol asyncIterator Property

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.

Nicole Veronica Rubhabha
Nicole Veronica Rubhabha
A highly competent and organized individual DotNet developer with a track record of architecting and developing web client-server applications. Recognized as a personable, dedicated performer who demonstrates innovation, communication, and teamwork to ensure quality and timely project completion. Expertise in C#, ASP.Net, MVC, LINQ, EF 6, Web Services, SQL Server, MySql, Web development,
RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

Recent Comments