genzen
Version:
Zen for Generators
24 lines (20 loc) • 449 B
JavaScript
var genzen = require('./');
var sleep = function sleep(ms) {
return function sleepThunk(fn) {
setTimeout(fn, ms);
};
};
function* nested(a, b, zen) {
yield setTimeout(zen, 1000);
console.log(a);
yield sleep(1000);
console.log(b);
}
genzen(function* (zen) {
console.log(1);
yield setTimeout(zen, 1000);
console.log(2);
yield sleep(1000);
console.log(3);
yield* nested(4, 5, zen); //holy shit, generator delegation!
});