Что у меня есть: Сервис, в сервисе предмет и наблюдаемое, созданное на основе этого предмета. Я испускаю, например, 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
Источник: