【JavaScript】for await...of
JavaScript for of ... await
2023-09-27 14:23:50 时间
以下内容为学习记录,可以参考 MDN 原文。
环境
- node v12.18.1
- npm 6.14.5
- vscode 1.46
- Microsoft Edge 83
概念
for await...of 语句会在异步或者同步可迭代对象上创建一个迭代循环,包括 String,Array,Array-like 对象(比如arguments 或者NodeList),TypedArray,Map, Set和自定义的异步或者同步可迭代对象。其会调用自定义迭代钩子,并为每个不同属性的值执行语句。这个语句只能在 async function 内使用。
示例
const asyncIterable = {
[Symbol.asyncIterator]() {
return {
i: 0,
next() {
if (this.i < 3) {
return Promise.resolve({ value: this.i++, done: false });
}
return Promise.resolve({ done: true });
}
};
}
};
(async function() {
for await (let num of asyncIterable) {
console.log(num);
}
})();
// 0
// 1
// 2
迭代异步生成器
async function* asyncGenerator() {
var i = 0;
while (i < 3) {
yield i++;
}
}
(async function() {
for await (num of asyncGenerator()) {
console.log(num);
}
})();
// 0
// 1
// 2
相关文章
- javascript-questions
- What are the benefits to using anonymous functions instead of named functions for callbacks and parameters in JavaScript event code?
- CodeWars for JavaScript
- javascript中的XML
- JavaScript undefined 与 null 的区别
- 【JS】JavaScript的循环命令示例(for/for each/do while)
- Google Earth Engine(GEE)——JavaScript和GEE中字符串的区别和数据类型
- 《深入理解JavaScript》——1.7 运算符
- 《第三方JavaScript编程》——导读
- 《Node应用程序构建——使用MongoDB和Backbone》一1.3 纯JavaScript
- javascript事件
- javascript for in 循环时,会取到Array.prototype
- 华为OD机试 - Excel单元格数值统计(JavaScript) | 机试题+算法思路+考点+代码解析 【2023】
- 超酷的实时颜色数据跟踪javascript类库 - Tracking.js
- Arcgis for Javascript实现图
- 40 JavaScript Chart and Graph Libraries for Developers--reference
- 深入理解JavaScript系列(40):设计模式之组合模式
- 深入理解JavaScript系列(31):设计模式之代理模式