ES6基础入门(四)—— Generator函数详解

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>

**不太明白的,可以把代码复制下来拿到编辑器里面去执行下就明白啦

**有问题可以在我的置顶文章末尾找到我的联系方式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值