Simple exponential backoff because the others seem to have weird abstractions.
$ npm install backo
min
initial timeout in milliseconds [100]max
max timeout [10000]jitter
[0]factor
[2]var Backoff = require('backo');
var backoff = new Backoff({ min: 100, max: 20000 });
setTimeout(function(){
something.reconnect();
}, backoff.duration());
// later when something works
backoff.reset()
MIT