The Timer.jsm JavaScript code module contains pure-JavaScript implementations of setTimeout, clearTimeout, setInterval, and clearInterval that are compatible with the DOM window functions, but that can be used by code that does not have access to a DOM window (for example, JavaScript code modules or content frame scripts).

To use Timer.jsm, first import it:


Then call setTimeout and clearTimeout just as you would in a DOM window, for example:

let timeoutID = setTimeout(function() { console.log("Hello!"); }, 500);


Similarly, you can use setInterval and clearInterval like so:

let intervalID = setInterval(function() { console.log("Happening every 500ms!"); }, 500);