поставил, он не отменяет предыдщуие, но шлет все равно постоянно
Лучше покеж фрагмент кода плиз) так будет более понятно
return of(value) .pipe( distinctUntilChanged(), switchMap((items) => { if (!result) { return this.apiService.getItem(propertyValue) .pipe( map((v) => { if (v) { callback(value.find((item) => item[property] === propertyValue)); } return of(items); }), ); } else { return of(items); } }), shareReplay(1), );
А можно код постить не плейнтекстом, а нормально оформить?
https://pastebin.com/4kQ1Txqd
Нормально оформить это отбить тремя символами ‘
вроде так и делал изначально
Ну, очевидно же, что не получилось что то
Если у тебя много раз вызывается apiService.getItem, это значит, что тебе из value много раз прилетает значение. Надо понять, почему. Я бы законсолил value после distinctUntilChanged и посмотрел, что там прилетает и как часто
Смотри, выглядит норм и не отредачено, значит все получилось
Если напрячь фантазию, то можно догадаться что это проблема либо конкретной мобильной платформы, либо в целом мобильных версий телеги. Код оформлен правильно, выглядит нормально
Нет, это проблема в том, что код не оформлен как код
Иди крч в пастебин
Не, мне незачем туда идти
Нет, если бы код бы оформлен как код, то был бы блок с кодом, выделялся бы цветом, не переносились бы строки
Код оформлен правильно, именно так как ты и сказал
не, пайп же постоянно тригерится из шаблона а value не меняется
короч решил это сохранением своего propertyValue и последующим его сравнением но что-то меня все равно смущает
Не, это не так работает. Асинк пайп просто подписывается и ждет новые значения. Если значение приходит - делает markForCheck. Единственный кейс, в котором асинк пайп может триггерить что-то - если компонент пересоздаётся постоянно
ну да, у меня асинк пайп стоит после моего пайпа с обзервером. мой пайп постоянно шото смотрит и тригерит
Мне кажется, это плохая идея - вешать асинк после другого не-pure пайпа. Можно как-то по-другому сделать?
даже не знаю как по-другому был вариант с каким-то компонентом, но мне чето не понравился изначально был просто поиск, а потом надо было сделать fallbackSearch так сказать
Обсуждают сегодня