A callback wrapper that executes it with a timeout error if not called in time.
npm install --save kamikaze
var kamikaze = require('kamikaze')
var cb = kamikaze(5000, function(err, msg) {
if (err) {
// if no message was passed for 5 seconds, just output 'Hello world!'
console.log('Hello world!')
return
}
console.log(msg)
})
// ...if called in less than 5 seconds, this will output 'Just in time!'
cb(null, 'Just in time!')
// to cancel the callback timer just clear it
clearTimeout(cb.timeoutId)
MIT © Zoltan Kochan