JavaScript Generators

30% OFF - 9th Anniversary discount on Entity Framework Extensions until December 15 with code: ZZZANNIVERSARY9


Generator functions (defined by the function* keyword) run as coroutines, generating a series of values as they're requested through an iterator.


  • function* name(parameters) { yield value; return value }
  • generator = name(arguments)
  • { value, done } =
  • { value, done } = generator.return(value)
  • generator.throw(error)


Generator functions are a feature introduced as part of the ES 2015 specification and are not available in all browsers. They are also fully supported in Node.js as of v6.0. For a detailed browser compatibility list, see the MDN Documentation, and for Node, see the website.

Got any JavaScript Question?