Generate 函数精解之一

本文介绍了Generator函数与普通函数的区别,强调其可阻断特性。Generator通过yield生成迭代器,迭代器的next方法用于获取yield表达式的值,并通过done属性判断是否结束。文章还通过实例验证了当yield后无值时,next方法的行为,并指出Generator在解决依赖问题和回调地狱方面的应用。
摘要由CSDN通过智能技术生成

        说起generator函数,先要了解它和普通函数的区别!大家都知道普通函数是不可阻断和挂起的,generator函数是可以阻断的,很多文档都喜欢用等待,但是我更喜欢使用阻断!         generator函数语法不难,*和yield,它生成一个迭代器,如果不清楚迭代器概念的,请自行百度。迭代器会对外暴露一个next方法,用来获取generator函数的相关yield内容。下面我们来看个例子:
      

         图中可以看出,我们调用test1生成了一个名为testGene的迭代器,迭代器对外暴露了一个next方法,我们调用next方法,迭代器依次返回包含字test1和test2的对象,心细的你还会发现,返回对象中还有一个done,done这个是用来表示迭代器对象是否变量结束,是否还能获得新值!如果done的值为false,说明还能通过调用next方法获得新值,如果done的值为true,说明已经无法通过next方法获得新值!

        做个小总结ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值