ES6 的 Generator 函数

Generator 函数是为解决异步编程问题而提出发方案。

和普通函数不同,执行 Generator 函数返回的并不是函数运行结果;而是返回一个遍历器对象(Iterator)。下一步必须调用 next()方法,使得指针移向下一个状态(也就是下一个yield表达式「或return语句」)

next() 的执行方式如下
(1)遇到yield表达式,就暂停执行后面的操作,并将紧跟在yield后面的那个表达式的值,作为返回的对象的value属性值。

(2)下一次调用next方法时,再继续往下执行,直到遇到下一个yield表达式。

(3)如果没有再遇到新的yield表达式,就一直运行到函数结束,直到return语句为止,并将return语句后面的表达式的值,作为返回的对象的value属性值。

(4)如果该函数没有return语句,则返回的对象的value属性值为undefined。

Comments
Write a Comment