Оператор
- добавляет начальное значение в поток. То есть - в начало потока добавляется значение, которое передается в 1
startWith
как аргумент; потом уже - пойдут значения самого потока:1
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
Обратить внимание! Выведен поток из пяти элементов! Начальное значение
также учитывается оператором 1
welcome
!1
take()
Обратить внимание! В данном случае от потока отписываться не нужно, так как оператор
сам отпишет (1
take()
) данный поток по завершении своей работы - особенность работы этого оператора 1
complete()
!1
take()