Skip to content

Instantly share code, notes, and snippets.

@dariuszparys
Created November 15, 2016 18:07
Show Gist options
  • Save dariuszparys/d5892abfe14cc70af255dc242ef1520c to your computer and use it in GitHub Desktop.
Save dariuszparys/d5892abfe14cc70af255dc242ef1520c to your computer and use it in GitHub Desktop.
ES2015 Generators
<button id="demo1">Demo 1</button>
<button id="demo2">Demo 2</button>
<div id="output">
</div>
class GeneratorDemo { * speakers() {
yield "Dariusz Parys";
yield "Christian Weyer";
yield "Marco Richardson";
}
* [Symbol.iterator]() {
yield "Dariusz Parys";
yield "Christian Weyer";
yield "Marco Richardson";
}
}
let obj = new GeneratorDemo();
let gen = obj.speakers();
$("#demo1").click( () => {
$("<p>").text( gen.next().value ).appendTo($("#output"));
$("<p>").text( gen.next().value ).appendTo($("#output"));
$("<p>").text( gen.next().value ).appendTo($("#output"));
$("<p>").text( gen.next().value ).appendTo($("#output"));
});
$("#demo2").click( () => {
for( var name of obj ) {
$("<p>").text(`Speaker: ${name}`).appendTo($("#output"));
}
});
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment