JavaScript Generator 对象
- Generator
- 生成器对象是由一个 generator function 返回的,并且它符合可迭代协议和迭代器协议。语法function* gen(){yield 1; yield 2; yield 3;}let g = gen();//"Generator{}"方法Generator.prototype.next
- Generator.prototype.next()
- next()方法返回一个包含属性done和value的对象。该方法也可以通过接受一个参数用以向生成器传值。语法gen.next(value)参数value向生成器传递的值.返回值返回的对象包含两个属性:done(布尔类型)如果迭代器超过迭代序列的末尾,则值为true。在这种情况下,value可选地指
- Generator.prototype.return()
- return()方法返回给定的值并结束生成器。语法gen.return(value)参数value需要返回的值返回值返回该函数参数中给定的值.示例使用return()以下例子展示了一个简单的生成器和return方法的使用.function* gen(){yield 1; yield 2; yield
- Generator.prototype.throw()
- throw()方法用来向生成器抛出异常,并恢复生成器的执行,返回带有done及value两个属性的对象。语法gen.throw(exception)参数exception用于抛出的异常。使用Error的实例对调试非常有帮助.返回值带有两个属性的对象:done(boolean)如果迭代器已经返回了迭代
- GeneratorFunction
- GeneratorFunction构造器生成新的生成器函数对象。在JavaScript中,生成器函数实际上都是GeneratorFunction的实例对象。注意,GeneratorFunction并不是一个全局对象。它可以通过下面的代码获取。Object.getPrototypeOf(functio
- AsyncFunction
- AsyncFunction构造函数用来创建新的异步函数对象。JavaScript 中每个异步函数都是AsyncFunction对象。注意,AsyncFunction并不是全局对象,需要通过下面的方法来获取:const AsyncFunction =(async function(){}).const