Оператор - добавляет начальное значение в поток. То есть - в начало потока добавляется значение, которое передается в 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()