ну там ток три возможных евента
select, selectAll, delete
так это уже есть - это евенты (сабджекты) или вы о другом
ну да но вы не юзаете их результы, по сути вам нужно три пары select + data, selectAll + data, delete + data все три пары с каждым withLatest на data и потом их результат в один merge
три раза прилетает console.log(e): const st1 = combineLatest([ this.select$, this.data$.pipe(map((e: any) => e.result)), ]); const st2 = combineLatest([ this.selectAll$, this.data$.pipe(map((e: any) => e.result)), ]); const st3 = combineLatest([ this.delete$, this.data$.pipe(map((e: any) => e.result)), ]); merge(st1, st2, st3).subscribe((e) => console.log(e));
я потом немного исправил сообщение где заменил combineLatest на withLatestFrom, поидеи будет это выглядеть так: merge( this.select$.pipe(withLatestFrom(this.data$.pipe(map((e: any) => e.result))), this.selectAll$.pipe(withLatestFrom(this.data$.pipe(map((e: any) => e.result))), this.delete$.pipe(withLatestFrom(this.data$.pipe(map((e: any) => e.result))))
на выходе буду получать всегда пару значений (выбранные или удаленные + дата ). Как теперь знать что откуда чтобы перенести логику изменения data
а бля, я слепой, я чёт увидел у вас там if else if else а не два ифа которые могут выполнится блед тогда план не катит
Обсуждают сегодня