Traducido de https://davidwalsh.name/es6-generators Una de las más emocionantes nuevas features que vienen en JavaScript ES6, son una nueva generación de funciones, llamadas generadores. Su nombre es un poco extraño, pero su comportamiento puede parecer mucho más extraño al primer vistazo. Este artículo tiene por objetivo explicar las bases de cómo trabaja, y ayudarlo a entender porqué es tan poderoso para el futuro de Js. Run-To-Completion Lo primero que debemos observar al hablar sobre generadores es como difieren de una función normal con respecto a la expectativa de ‘run to completion’. Ya sea que te hayas dado cuenta o no, tu siempre has podido asumir algo bastante fundamental acerca de tus funciones: siempre que una función haya comenzado a ejecutarse, está seguirá hasta completarse sin que ningún otro código js pueda correr antes. Por ejemplo: setTimeout ( function (){ console . log ( "Hello World" ); }, 1 ); function foo () { // NOTE: don't ever do cr