JavaScript中“ for ... await ... of”语句的重要性是什么?
等待...的
'forawait...of'语句创建一个循环,该循环遍历异步 对象并同步 对象,例如数组,类似数组的对象,映射集等。
语法
for await (variable of iterable) {
statement
}示例
在下面的示例中,“forawait...of”语句用于以异步格式循环普通数组,并且整数从1到5显示,如输出所示。
<html>
<body>
<script>
var txt = "";
const array = [1,2,3,4,5];
async function test() {
for await (const p of array) {
var txt = p + "</br>";
document.write(txt);
}
}
test();
</script>
</body>
</html>输出结果
1 2 3 4 5
要在循环中调用异步 函数,将使用新的Symbol“Symbol.asyncIterator”和“for-await...of”构造。最重要的是,“for-await...of”在循环异步可迭代对象方面发挥了重要作用。
示例
在下面的示例中,使用“forawait...of”对异步iterable进行迭代,显示了1到5的整数。
<html>
<body>
<script>
var txt = "";
var async = {
[Symbol.asyncIterator]() {
return {
i: 1,
next() {
if (this.i < 6) {
return Promise.resolve({ value: this.i++, done : false});
}
}
};
}
};
async function test() {
for await (let p of async) {
txt = p + "</br>"
document.write(txt);
}
}
test();
</script>
</body>
</html>输出结果
1 2 3 4 5