RxJs - startWith

Reading time ~1 minute

Оператор startWith - добавляет начальное значение в поток. То есть - в начало потока добавляется значение, которое передается в startWith() как аргумент; потом уже - пойдут значения самого потока:

import { interval, Observable } from 'rxjs'; 
import { startWith, take } from 'rxjs/operators';

const stream$: Observable<string | number> = interval(1000).pipe(
  startWith('welcome'),
  take(5)
);
stream$.subscribe((v: string | number) => console.log(v));

Вывод будет таким:

welcome
0
1
2
3

Обратить внимание! Выведен поток из пяти элементов! Начальное значение welcome также учитывается оператором take()!

Обратить внимание! В данном случае от потока отписываться не нужно, так как оператор take() сам отпишет (complete()) данный поток по завершении своей работы - особенность работы этого оператора take()!


Ellipsis для массива в Go

Токен `...` **используется для массивов** и он **имеет огромный смысл** именно потому, что массивы в Go имеют фиксированную длину.Дело в ...… Continue reading