19.生成器函数实例
<!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>
// 异步编程
// 练习:1s后控制台打印1,然后2s后打印2,然后3s后打印3,一共需要6s
// 回调地狱!
// setTimeout(() => {
// console.log(111);
// setTimeout(() => {
// console.log(222);
// setTimeout(() => {
// console.log(333);
// }, 3000);
// }, 2000);
// }, 1000);
function one() {
setTimeout(() => {
console.log(111);
inerator.next();
}, 1000);
}
function two() {
setTimeout(() => {
console.log(222);
inerator.next();
}, 2000);
}
function three() {
setTimeout(() => {
console.log(333);
inerator.next(); //这个貌似不用写也能出结果,但是可能后续需要传递参数,所以还是得写
}, 3000);
}
function* gen() {
yield one();
yield two();
yield three();
}
// 调用生成器函数
let inerator = gen();
inerator.next();
</script>
</body>
</html>