Учитывая, что у меня есть следующий код:
private readonly postAction$ = new Subject();
postStream$ = this.postAction$.pipe(
exhaustMap(() => {
this.count ++;
console.log('fired')
return of('my other post');
}),
startWith(''),
exhaustMap(()=> {
this.count ++;
console.log('fired first')
return of('my post' + this.count);
})
)
На который я подписываюсь в своем шаблоне с помощью канала async
.
Я не ожидал, что это сработает, но вывод на консоль был:
> fired first
Пока я не позвоню .next()
по теме postAction$
, первый console.log('fired')
никогда не вызывается.
Каков контекст выполнения операторов RxJS? Как они работают? Я ожидал, что первая выхлопная карта должна выдать значение до того, как будут запущены остальные операторы. Не удалось найти ничего в документации по rxjs
Демонстрация stackblitz