оператор distinctUntilChanged постоянно сравнивает два одинаковых объекта?
У меня есть поток из объектов и мне нужно пропускать только те, которые отличаются от предыдущего. В качестве временного решения я передаю в distinctUntilChanged функцию для сравнения:
(prev, next) => {
console.log(prev, next);
JSON.stringify(prev) === JSON.stringify(next)
}
и почему-то, в консоли постоянно вижу, что prev и next одинаковы и соответствуют последнему объекту в потоке
next === next? очепятка?
Да, в коде её нет
так ты не обьекты сравниваешь а жсон из этих обьектов так то обьекты могут быть одинаковы на вид но с разными ссылками
В том то и дело, что я точно знаю, какой был предыдущий объект и какой следующий. У них точно есть отличия. Тут именно distinctUntilChanged в свой prev записывает новый объект почему-то.
скорее ты что то не так там делаешь)
как-то это слово "следующий" путает и переменная next distinctUntilChanged же ловит прошлый и текущий. Мб в этом как-то путаешься?
Вроде нет. Грубо говоря, у меня в Subject отправились по очереди 1 и 2. После отправки 2 я ожидаю увидеть prev=1, next=2, но получаю prev=2, next=2
Обсуждают сегодня