Skip to content

@epikodelabs/streamix


@epikodelabs/streamix / src/public-api / timer

Function: timer()

timer(delayMs?, intervalMs?): Atom<number>

Defined in: projects/libraries/streamix/src/lib/factories/timer.ts:21

Creates a hot timer atom that emits numbers starting from 0.

The underlying timer is shared between all subscribers. It starts on the first subscription and stops when the last subscriber unsubscribes. Values emitted before a subscription are not replayed.

In analog mode each subscriber keeps only the latest value (skipping intermittent ticks); in discrete mode each subscriber queues all values.

Parameters

delayMs?

MaybePromise<number> = 0

The time in milliseconds to wait before emitting the first value (0). If 0, the first value is emitted immediately (in the next microtask).

intervalMs?

MaybePromise<number>

The time in milliseconds between subsequent emissions. If not provided, it defaults to delayMs.

Returns

Atom<number>

An atom that emits incrementing numbers (0, 1, 2, ...).

Released under the GNU AGPL v3 or later.