I've been wondering, is there a better way to pass variables into callback functions in node.js other than using bind().

Here is an example:

var fs = require('fs');

for(var i = 0; i < 100; i++) {
    fs.writeFile(i + ".txt", i, function(error) {
        fs.stat(this.i + ".txt", function() {
            fs.rename(this.i + ".txt", this.i + ".new.txt", function() {
               console.log("[" + this.i + "] Done...");
            }.bind({ i: this.i }));
        }.bind({ i: this.i }));
    }.bind({ i: i }));
}

Notice the bind() methods all the way up, simply passing the value of i.

Thanks.

Edit
Report