AsyncIterator.prototype[Symbol.asyncIterator]()
[Symbol.asyncIterator]()
方法是 AsyncIterator
实例的实现 异步可迭代协议,并允许大多数期望异步可迭代的语法(例如 for await...of
循环)消费内置异步迭代器。它返回 this
的值,即异步迭代器对象本身。
试用
语法
js
asyncIterator[Symbol.asyncIterator]()
参数
无。
返回值
this
的值,即异步迭代器对象本身。
示例
使用 for await...of 循环进行迭代
请注意,您很少需要直接调用此方法。[Symbol.asyncIterator]()
方法的存在使得所有内置异步迭代器都 异步可迭代,并且像 for await...of
循环这样的迭代语法会自动调用此方法以获取要循环的异步迭代器。
js
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 语言规范 # sec-asynciteratorprototype-asynciterator |
浏览器兼容性
BCD 表格仅在浏览器中加载