AsyncIterator.prototype[Symbol.asyncIterator]()
Базовая поддержка Широко доступна
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с января 2020 года.
Метод [Symbol.asyncIterator]() экземпляров AsyncIterator реализует протокол асинхронного итератора и позволяет потреблять встроенные асинхронные итераторы большинством синтаксических конструкций, ожидающих асинхронные итерируемые объекты, таких как циклы for await...of. Он возвращает значение this, которым является сам объект асинхронного итератора.
Синтаксис
asyncIterator[Symbol.asyncIterator]()
Параметры
Нет.
Возвращаемое значение
Значение this, которым является сам объект асинхронного итератора.
Примеры
Итерация с использованием цикла for await...of
Обратите внимание, что вам редко нужно вызывать этот метод напрямую. Наличие метода [Symbol.asyncIterator]() делает все встроенные асинхронные итераторы асинхронно итерируемыми, и синтаксические конструкции для итерации, такие как цикл for await...of, автоматически вызывают этот метод для получения асинхронного итератора для перебора.
const asyncIterator = (async function* () {
yield 1;
yield 2;
yield 3;
})();
(async () => {
for await (const value of asyncIterator) {
console.log(value);
}
})();
// Logs: 1, 2, 3
Спецификации
| Спецификация |
|---|
| ECMAScript® 2027 Language Specification # sec-%asynciteratorprototype%-%symbol.asynciterator% |
Совместимость с браузерами
| Настольные компьютеры | Мобильные | Сервер | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on iOS | Samsung Internet | WebView Android | WebView on iOS | Bun | Deno | Node.js | |
@@asyncIterator |
63 |
79 |
57 |
50 |
11.1 |
11.1 |
57 |
46 |
11.3 |
8.0 |
63 |
11.3 |
1.0.0 |
1.0 |
10.0.0 |
См. также
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/AsyncIterator/Symbol.asyncIterator