码迷,mamicode.com
首页 > 其他好文 > 详细

Generator 简介

时间:2018-02-24 19:36:12      阅读:131      评论:0      收藏:0      [点我收藏+]

标签:依次   next   必须   gpo   log   iter   运行   有一个   object   

      Generator 就是一种状态机,封装多个内部状态。

      执行 Generator 函数会返回一个遍历器对象(),也就是说,Generator 函数除了状态机,还是一个遍历器对象生成函数。返回的遍历器对象,可以依次遍历 Generator 函数内部的每一个状态。

       形式上,Generator 函数是一个普通函数,但是有两个特征。一是,function关键字与函数名之间有一个星号;二是,函数体内部使用yield表达式,定义不同的内部状态(yield在英语里的意思就是“产出”)。

      然后,Generator 函数的调用方法与普通函数一样,也是在函数名后面加上一对圆括号。不同的是,调用 Generator 函数后,该函数并不执行,返回的也不是函数运行结果,而是一个指向内部状态的指针对象,也就是上一章介绍的遍历器对象(Iterator Object)。

      下一步,必须调用遍历器对象的next方法,使得指针移向下一个状态。也就是说,每次调用next方法,内部指针就从函数头部或上一次停下来的地方开始执行,直到遇到下一个yield表达式(或return语句)为止。换言之,Generator 函数是分段执行的,yield表达式是暂停执行的标记,而next方法可以恢复执行

      详情:http://es6.ruanyifeng.com/#docs/generator

 

Generator 简介

标签:依次   next   必须   gpo   log   iter   运行   有一个   object   

原文地址:https://www.cnblogs.com/cnlg123/p/8467069.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!