timers-ref

setTimeout and setInterval with unref and ref like in node.js

timers-ref

Please only use this in the browser, not in node.

npm install timers-ref
var timers = require('timers-ref')
 
timers.setTimeout(function () {
  console.log('hi')
}, 100)
 
timers.setInterval(function () {
  console.log('hi')
}, 100)
 
var timeout = timers.setTimeout(function () {}, 100)
timers.clearTimeout(timeout)
 
var interval = timers.setInterval(function () {}, 100)
timers.clearInterval(interval)

If you want to listen to process.on('exit') to know when there are no setTimeout or setInterval timers in the event queue, do this:

timers.setupProcess()
 
process.once('exit', function (code) {
  console.log('all done')
})

Note one important difference: This won't emit process.on('exit') if no setTimeouts or setIntervals are called. Needs at least one call to get things going.

MIT. Copyright (c) Feross Aboukhadijeh.