Implemented by
The callback interface for timers.
[scriptable, uuid(436a83fa-b396-11d9-bcfa-00112478d626)]
interface nsITimer : nsISupports
Constants
nsITimer instances must be initialized by calling one of the "init" methods documented below. You may also re-initialize an existing instance with new delay to avoid the overhead of destroying and creating a timer. It is not necessary to cancel the timer in that case. Type of a timer that fires once only.
const
short
TYPE_ONE_SHOT = 0
After firing, a TYPE_REPEATING_SLACK timer is stopped and not restarted until its callback completes. Specified timer period will be at least the time between when processing for last firing the callback completes and when the next firing occurs. This is the preferable repeating type for most situations.
const
short
TYPE_REPEATING_SLACK = 1
An TYPE_REPEATING_PRECISE repeating timer aims to have constant period between firings. The processing time for each timer callback should not influence the timer period. However, if the processing for the last timer firing could not be completed until just before the next firing occurs, then you could have two timer notification routines being executed in quick succession.
const
short
TYPE_REPEATING_PRECISE = 2
Attributes
The nsITimerCallback object passed to initWithCallback.
readonly attribute
nsITimerCallback
callback
The opaque pointer pass to initWithFuncCallback.
[noscript]
readonly attribute
voidPtr
closure
The millisecond delay of the timeout
attribute
unsigned long
delay
The timer type : one shot or repeating
attribute
unsigned long
type
Methods
Cancel the timer. This method works on all types, not just on repeating timers -- you might want to cancel a TYPE_ONE_SHOT timer, and even reuse it by re-initializing it (to avoid object destruction and creation costs by conserving one timer instance).
void
cancel()
Initialize a timer that will fire after the said delay.
A user must keep a reference to this timer till it is
is no longer needed or has been cancelled.
@param aObserver the callback object that observes the
``timer-callback'' topic with the subject being
the timer itself when the timer fires:
observe(nsISupports aSubject, => nsITimer
string aTopic, => ``timer-callback''
wstring data => null
@param aDelay delay in milliseconds for timer to fire
@param aType timer type per TYPE* consts defined above
void
init(in nsIObserver aObserver, in unsigned long aDelay, in unsigned long aType)
Initialize a timer to fire after the given millisecond interval. This version takes a function to call and a closure to pass to that function. @param aFunc nsITimerCallback interface to call when timer expires @param aDelay The millisecond interval @param aType Timer type per TYPE* consts defined above
void
initWithCallback(in nsITimerCallback aCallback, in unsigned long aDelay, in unsigned long aType)
Initialize a timer to fire after the given millisecond interval. This version takes a function to call and a closure to pass to that function. @param aFunc The function to invoke @param aClosure An opaque pointer to pass to that function @param aDelay The millisecond interval @param aType Timer type per TYPE* consts defined above
[noscript]
void
initWithFuncCallback(in nsTimerCallbackFunc aCallback, in voidPtr aClosure, in unsigned long aDelay, in unsigned long aType)
Compare to: