Fangs
Fangs allows you to create a chain of functions, where the function chain will only progress if the control is yielded to the next function.
The first parameter next
of each function is what should be called to pass control to the next function.
Here is a fang:
fang(
function(next, num){
console.log(num); // 1
next(num + 1);
},
function(next, num){
console.log(num); // 2
next(num * 3);
},
function(init, num){
console.log(num); // 6
// init(num); // running init will cause another loop
}
)(1); // pass 1 to first function
still in early development