Что у меня есть: Сервис, в сервисе предмет и наблюдаемое, созданное на основе этого предмета. Я испускаю, например, 3 раза, используя «subject.next» из 3 отдельных компонентов и подписываюсь в другом компоненте.
Чего я хочу добиться? В моей подписке фильтр по свойству: получить только два первых выданных значения, получить значение с максимальным значением в свойстве, автоматически отказаться от подписки.
Что я пробовал:
const validValues = ['a','b']
this.myService.pipe(
filter(x => validValues.some(y => y === x.name)),
max((a,b) => a.value - b.value),
take(2)
)
Take (2) не работает, по-прежнему получаются 3 значения. Какие-либо предложения ?
Порядок оператора имеет значение. Попробуйте переместить take(2) перед оператором max(). — person Mr.FloppyDisk schedule 02.03.2021
