timer(dueTime: number | Date = 0, periodOrScheduler?: number | SchedulerLike, scheduler?: SchedulerLike): Observable<number>
| dueTime | Opcional. El valor por defecto es 0.
El valor del retraso inicial que esperar antes de emitir el primer valor, especificado como objeto Date o como Integer, en milisegundos. |
| periodOrScheduler | Opcional. El valor por defecto es undefined.
El periodo de tiempo entre emisiones. |
| scheduler | Opcional. El valor por defecto es undefined.
EL SchedulerLike que utilizar para planificar las emisiones, proporcionando la noción de 'tiempo'. |
Observable<number>: Un Observable que emite una secuencia ascendente de números consecutivos, comenzando por el valor 0, tras un periodo de tiempo inicial especificado por dueTime.
Es como interval, pero se puede especificar cuándo deben comenzar las emisiones.
timer retorna un Observable que emite una secuencia de números ascendentes infinita. Los valores se emiten a intervalos constantes de tiempo, según se especifique. La primera emisión ocurre tras el periodo de tiempo especificado por dueTime. Este periodo inicial de espera también se puede proporcionar en formato Date.
Por defecto, este operador utiliza el SchedulerLike asyncScheduler para proporcionar la noción del tiempo, pero se le puede proporcionar cualquier otro SchedulerLike.
Si no se proporciona el valor period, el Observable resultante emite un único valor, 0. Si se proporciona un valor period, se emite una secuencia infinita.
Emitir un único valor, 0, tras 2 segundos de espera
import { timer } from "rxjs";
const zero$ = timer(2000);
zero$.subscribe(console.log);
// Salida: 0
Emitir una secuencia ascendente de números a intervalos de 1 segundo, tras 5 segundos de espera
import { timer } from "rxjs";
const number$ = timer(5000, 1000);
number$.subscribe((number) => console.log(number));
// Output: 0, 1, 2, 3...
Emitir una secuencia ascendente de números, uno cada segundo (1000ms), comenzando tras 3 segundos
import { timer } from "rxjs";
const numbers = timer(3000, 1000);
numbers.subscribe((x) => console.log(x));
Emitir el número 0 tras 5 segundos de espera
import { timer } from "rxjs";
const numbers = timer(5000);
numbers.subscribe((x) => console.log(x));
Documentación oficial en inglés