RxJs - timer

Reading time ~1 minute

Метод timer позволяет создавать удобную возможность выполнять что-либо через заданный промежуток времени.

Синтаксис - timer(delayTime, intervalTime).

Подключение - import { timer } from ‘rxjs’;

Пример кода:

const source = timer(1000, 1000);
source.subscribe(data => console.log(data));

Здесь - с задержкой в одну секунду (и с интервалом также в одну секунду) в консоли пойдут значения - 0, 1, 2, 3, 4 и тд. Если задержка не нужна, тогда можно поставить 0:

const source = timer(0, 1000);
source.subscribe(data => console.log(data));

Если нужно, чтобы timer сработал как метод setTimeout в классическом JavaScript, то нужно опустить второй аргумент - интервал выполнения:

const source = timer(1000);
source.subscribe(data => console.log(data));

… в этом случае команда выполнится один раз - в задержкой в одну секунду.

Маленький практический пример использования timer:

const source = timer(0, 1000);
source.subscribe(data => console.log(new Date()));

… это получился простейший таймер (не обратного отсчета). При использовании в Angular можно задействовать встроенный pipe - date: ‘hh:mm:ss’.

Интересная особенность - первым параметром можно задать дату запуска таймера - signature: timer(initialDelay: number | Date, period: number, scheduler: Scheduler): Observable. Не пробовал, но надо взять на заметку.

На timer очень похож метод interval, однако timer можно рассматривать как расширенный и более гибкий вариант interval.


Ссылки:

RxJs - pluck

Задача заметки - понять, что такое метод _pluck_.Допустим, у нас есть _input_, на который мы подписаны и у которого забираем вводимое зна...… Continue reading

RxJs - map

Published on September 04, 2019

RxJs - from

Published on September 02, 2019