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.