ECMAScript 6 for..of
Currently Firefox only.
HTML
<button id="test">Click</button>
JavaScript
var first = function* (){
console.log("first click");
yield true;
console.log("second click");
yield true;
};
document.getElementById("test").addEventListener('click', first().next.bind(first()));