Skip to content

Timeout

[<Interface>]
type Timeout =
    abstract member _onTimeout (args: obj array) : unit
    abstract member close () : Timeout
    abstract member ref () : Timeout
    abstract member refresh () : Timeout
    abstract member unref () : Timeout
AssemblyXantham.Fable.Node
ImplementsTimer, Disposable, RefCounted

This object is created internally and is returned from setTimeout() and setInterval(). It can be passed to either clearTimeout() or clearInterval() in order to cancel the scheduled actions.

By default, when a timer is scheduled using either setTimeout() or setInterval(), the Node.js event loop will continue running as long as the timer is active. Each of the Timeout objects returned by these functions export both timeout.ref() and timeout.unref() functions that can be used to control this default behavior.

Methods

abstract member _onTimeout (args: obj array) : unit
abstract member close () : Timeout

Cancels the timeout.

@since v0.9.1

Returns. a reference to timeout

abstract member ref () : Timeout

When called, requests that the Node.js event loop not exit so long as the Timeout is active. Calling timeout.ref() multiple times will have no effect.

By default, all Timeout objects are "ref'ed", making it normally unnecessary to call timeout.ref() unless timeout.unref() had been called previously.

@since v0.9.1

Returns. a reference to timeout

abstract member refresh () : Timeout

Sets the timer's start time to the current time, and reschedules the timer to call its callback at the previously specified duration adjusted to the current time. This is useful for refreshing a timer without allocating a new JavaScript object.

Using this on a timer that has already called its callback will reactivate the timer.

@since v10.2.0

Returns. a reference to timeout

abstract member unref () : Timeout

When called, the active Timeout object will not require the Node.js event loop to remain active. If there is no other activity keeping the event loop running, the process may exit before the Timeout object's callback is invoked. Calling timeout.unref() multiple times will have no effect.

@since v0.9.1

Returns. a reference to timeout