RxJs - take и takeLast

Reading time ~1 minute

Методы take() и takeLast() в общем очень схожи с методами first() и last(). С тем лишь отличием, что первые два могут возвращать не просто - самое первое или самое последнее событие потока; они могут возвращать указанное количество событий.

Метод take()

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

Метод take() принимает в качестве аргумента число - количество событий потока, которые нужно вернуть с момента старта потока.

Например:

import { take } from 'rxjs/operators';
import { timer } from 'rxjs';

const source = timer(0, 1000);
const result = source.pipe(take(10));

result.subscribe(response => console.log(response));

… очевидно, что этот код вернет первые десять событий из потока source -> 0,1,2,3,4,5,6,7,8,9.

Метод takeLast()

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

В противоположность методу take(), метод takeLast() возвратит заданное количество последних событий потока.

Важный момент - метод takeLast() вернет события только после того, как поток завершится.

Пример:

import { takeLast } from 'rxjs/operators';
import { from } from 'rxjs';

const source = from([0,1,2,3,4,5,6,7,8,9]);
const result = source.pipe(takeLast(4));

result.subscribe(response => console.log(response));

… этот код вернет последние четыре события потока source -> 6,7,8,9.


Ссылки:

Mangling Angular

Angular Builder поддерживает параметры среды:- NG_BUILD_MANGLE- NG_BUILD_MINIFY- NG_BUILD_BEAUTIFYМожно установить их при запуске скрипта...… Continue reading

Constructor parameter without access modifier

Published on February 04, 2024

RxJs and DestroyRef Provider

Published on January 24, 2024