17.生成器函数声明与调用
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
</head>
<body>
<script>
// 生成器就是一个特殊的函数,可以用来进行异步编程,ES6提供的一种异步编程解决方案,语法行为与传统函数完全不同
// 之前的写法是纯回调函数
// 中间必须加上*号
function* gen() {
// console.log("生成器函数");
console.log(111);
yield "函数分隔符"; //yield函数代码的分隔符,三个分隔符产生四块代码
console.log(222);
yield "函数分隔符2";
console.log(333);
yield "函数分隔符3";
console.log(444);
}
let result = gen(); //直接调用不行
// console.log(result);
// 借助next方法去调用
// result.next();
// result.next();
// result.next();
// result.next();
// 遍历
for (const iterator of gen()) {
console.log(iterator);
}
</script>
</body>
</html>