dilly.js: a library for loops with delays in JavaScript
I’ve released a new library for writing sort of idiomatic-looking loops with delays in javascript. This was motivated by this work in which I was implementing an algorithm/simulation; I wanted the code to be readable as straighforward loops, but I needed a delay for the visual portion.
Here is an example of its usage:
withDelay(1000).endingWith(other_stuff)
.for("x",1,2) // range: 1, 2
.for("y",1,3 , 8) // range(with step of 2): 1, 3, 5, 7
.for("z",['a','b']) // foreach: 'a', 'b'
.do(function(){
console.log(this.var("x"),
this.var("y"),
this.var("z"));
});
The inner do
block runs with a one-second delay between executions.
You can pick up the code with
$ git clone https://github.com/jberryman/dilly.js.git
The design is actually much closer conceptually to list comprehensions. Also, I’m fairly certain that the approach I took is far messier than necessary, but I was suffering from elegant coder’s block.
Send me any pull requests or bug reports you have.