ECMA6-生成器
明天的内容是es6,
-生成器[ˈdʒenəreɪtə(r)]
-产量[jild]
Generator函数是ES6引入的,主要用于异步编程。
Generator最大的特点就是可以交出函数的执行权(即暂停执行)。
它的编写方式与普通函数不同。 有两个主要区别。
1、函数关键字和函数名之间有一个星号;
它与普通函数不同,它可以暂停执行,
因此,在函数名前加一个星号以示区别。
其次,Generator函数体内部使用yield语句来定义不同的内部状态;
状态当然就是数据,
(内部状态是函数内部的值,不同时刻不同)
本质上,
整个Generator函数是一个封装好的异步任务,
或者异步任务的容器。
Yield命令是异步不同阶段的分界线,
因此,有时yield也被视为回报,
事实上,收益率与回报有着根本的不同。
看,最简单的Generator函数.html
为了让它移动,我们需要使用 .next() 方法,
你可以把它想象成一种“启动方法”,
功能是分阶段执行Generator函数,
每次调用 .next() 方法时,都会返回一个对象。
表示当前阶段的信息,
值属性,
完成属性,
-true,表示该函数已经被执行;
-false,表示该函数尚未执行;
函数*xxfn(){
产生“a”;
产量“b”;
产量“c”;
返回 'dend..';
var_xxfn=xxfn();
这时候我们说,_xxfn,它是一个迭代器的引用。
Yield语句只能在Generator函数中,
普通功能,没有。
看,迭代器 object.html
Generator函数中的.next()方法可以接收参数,
首先,
- 传入的参数,虽然覆盖了前面yield语句返回的值;
- 第一个 .next() 方法是启动器ecmascript6视频资料,
前面没有yield语句,
所以给第一个.next()方法传递参数是没有意义的。
看,下一个方法的参数.html
这个反例最能说明 Generator 函数的使用。
也就是可以使用next方法分阶段注入数据,
让函数分阶段给出不同的返回值。
生成器函数ecmascript6视频资料,支持forof循环,
用于在执行过程中迭代Generator函数,
生成的迭代器对象的类型,
请参阅 for_of.html
本视频课程是免费的,所以想要下载高清视频的朋友请付出一点努力,
(2)转发这篇文章到“你拉我进的后端陌陌群”,我看看,五分钟后我把你下载的云盘链接发给你,以及视频实例中的演示,
其实,如果你实在不想转发也没关系,只要关注公众号的视频,同样可以学到东西。