const f1$ = Observable.create(ob => this.eventService.on('firstName', data => ob.next(data)));
const f2$ = Observable.create(ob => this.eventService.on('lastName', data => ob.next(data)));
const f3$ = Observable.create(ob => this.eventService.on('middleName', data => ob.next(data));
const mainObj$ = of({ address: 'abc street' });
combineLatest([f1$, f2$, f3$, mainObj$], (f, l, m, dataBlock) => {
return R.compose(addFirstName(f), addLastName(l), addMiddleName(m))(dataBlock);
}).pipe(
flatMap(data => this.someHttpService.save(data)),
pluck('id')
).subscribe(id => console.log(`user ${id} saved successfully`));
Как мне удалить compose и просто использовать rxjs для достижения той же функциональности.
Также я хочу, чтобы f1 $, f2 $, f3 $ действовали как субъект поведения, потому что я хочу сохранить пользователя только с адресом.
Моя главная цель - манипулировать объектом mainObj на основе f1 $, f2 $, f3 $.
Комбинация ведьмПоследний, как я могу узнать, какая наблюдаемая была вызвана, так что я могу применить только эту операцию.
например, если f1 $ был триггером, я просто применю addFirstNameFn к mainObj вместо вызова их всех. (addFirstName, addLastName, addMiddleName).