generator.next

generator.next

The next() method returns an object with two properties done and value. You can also provide a parameter to the next method to send a value to the generator.

Syntax

gen.next(value)

Parameters

valueThe value to send to the generator.

Return value

An Object with two properties:

  • done (boolean)

Examples

Using next()

The following example shows a simple generator and the object that the next method returns:

function* gen() { yield 1; yield 2; yield 3; } var g = gen( // "Generator { }" g.next( // "Object { value: 1, done: false }" g.next( // "Object { value: 2, done: false }" g.next( // "Object { value: 3, done: false }" g.next( // "Object { value: undefined, done: true }"

Sending values to the generator

In this example, next is called with a value. Note that the first call did not log anything, because the generator was not yielding anything initially.

function* gen() { while(true) { var value = yield null; console.log(value } } var g = gen( g.next(1 // "{ value: null, done: false }" g.next(2 // "{ value: null, done: false }" // 2

Specifications

SpecificationStatusComment
ECMAScript 2015 (6th Edition, ECMA-262)The definition of 'Generator.prototype.next' in that specification.StandardInitial definition.
ECMAScript Latest Draft (ECMA-262)The definition of 'Generator.prototype.next' in that specification.Living Standard

Browser compatibility

FeatureChromeEdgeFirefox (Gecko)Internet ExplorerOperaSafari
Basic support(Yes)1326 (26)No support(Yes)10

FeatureAndroidChrome for AndroidEdgeFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Basic support5.1(Yes)(Yes)26.0 (26)??10

See also

  • function*

Edit this page on MDN

© 2005–2017 Mozilla Developer Network and individual contributors.

Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Generator/next