跳到主要内容

自动执行

2023年06月17日
柏拉文
越努力,越幸运

一、for……of


for...of循环可以自动遍历 Generator 函数运行时生成的Iterator对象,且此时不再需要调用next方法。

1.1 语法

function* genFun() {
console.log(yield 1); // 哈哈
console.log(yield 2); // 嘻嘻
return 3;
}

function spawn(genFun) {
for (let gen of genFun()) {
console.log(gen);
}
}

spawn(genFun);

1.2 机制

  1. Generator函数的 return 语句不包括在 for……of 循环之中: 一旦next方法的返回对象的done属性为truefor...of循环就会中止,且不包含该返回对象。