Generators
Generators are the function that can be paused and resumed
Defined using * after function keyword
yield to pause a generatore optionally pass back some value
are used with iterators
return an iterator when invoked
next() method resume generator
can pass value to iterator using next('my value')
Note
we have to install "babel-polyfill" to use this feature with webpack
// in webpack.config.js add below entry
// entry: ['babel-polyfill', './main.js'],Generator Demo
function* generateMe(){
yield "One";
yield "Two";
yield [1,2,3];
}
var generator = generateMe();
console.log(generator.next());
console.log(generator.next());
console.log(generator.next());
console.log(generator.next());
// Output
// { value="One", done=false}
// { value="Two", done=false}
// { value=[3], done=false}
// { done=true, value=undefined}Use generator for dependent API calls
/search/man -> /users/123 -> /photos/233
Loop over generators ( use for of loop )
Demo - Now i know my abc
Last updated
Was this helpful?