1.Generator的概念:一个状态机,封装了多个内部状态
2.Generator的使用:1)延迟执行的异步函数;2)与symbol.iterator的关系;3)状态机
3.Generator的特点:1)function关键字与函数名之间有一个星号;2)函数内部使用yield(英语“产出”)表达式,定义不同的内部状态
<script>
//定义一个Generator函数
function* myGenrator(){
console.log("start");
yield "暂停一";
console.log("继续");
yield "暂停二"
console.log("继续二");
return("结束");
}
//myGenerator();
//调用Generator函数并不是马上开始执行代码,而是返回一个
//执行方法开始的指针
let point = myGenrator();
//让Generator函数启动,碰到yield语句的时候就暂停
//yield语句,会将一个对象=>{value:"暂停一",done:false},会作为next函数的返回值
//value表示yield或return后面的表达式
//done:函数是否结束
console.log(point.next()); //start {value: "暂停一", done: false}
console.log(point.next()); //继续 {value: "暂停二", done: false}
console.log(point.next()); //继续二 {value: "结束", done: true}
</script>
**不太明白的,可以把代码复制下来拿到编辑器里面去执行下就明白啦
**有问题可以在我的置顶文章末尾找到我的联系方式。