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