управлением данных в приложении,думаю что ситуация довольно стандартная ,у меня есть несколько компонент которые нуждаются в данных ,при загрузке одной из компонент я загрузил с API данные и храню из в стриме,если данные не меняються проблем как бы нет ,допустим я создал новый счёт данных и отправил на сераер ,вопрос такой как лучше поступить в момент когда нужно будет отобразить новые данные,делать запрос на сервер и получать обновленные данные или локально менять первичный набор данных и работать с ним?
Сильно зависит от бизнеса, задачи, бэка и дизайна. Вообще есть две стратегии обновления данных - пессимистическая и оптимистическая. 1я - ожидание полной загрузки данных и в частности отказ от обновления их на фронте => стучимся на бэк если, например, изменили счет и все есть чтобы его мутировать. Плюсы - проста в реализации; тривиальная обработка результата запроса; простой дизайн; не напрягаешь бэк с обработкой их кухни на фронте. Минусы - постоянные запросы - постоянные ожидания. Крутящиеся спинеры, ездящие прогрессбары и мерцающие скелетоны, это все тут. 2я - принудительная выдача результата запроса и в частности мутация данных на фронте, без ожидания ответа на запрос. Плюсы - время ожидания пользователя существенно сокращается; пользователю кажется что все летает => пользователь счастлив=) Минусы - сравнительно с предыдущей сложна в реализации; вереница доп. обработок ошибок; в некоторых случаях необходим продуманный UI/UX; иногда приходится перенести на фронт то что было на бэке (порой из за того что они одеяло слишком перетянули) Если вы думаете стоит ли оптимистическую стратегию внедрять архитектурно, нужно прежде всего понимать каков это гемор. Если же местечково, для обновления счета например, то почему бы и да?!
Ого, огромное спасибо за исчерпывающий ответ,буду иметь в виду.
Доброго времени суток. Я только начинаю изучать Angular, и у меня вопрос возник...что значит хранить данные из api в стриме и что вообще такое стрим?
где ты такое прочитал?
Rxjs,reactive programming paradigm,погугли,тема довольно обширная но в целом упирается в использования асинхронных источников данных и их хранения
формулировка у чела такая, что ощущение, что он не в курсе, о чем вообще спрашивает
только стримы не для хранения
Предполагаю, что имеется в виду кэширование ответа сервера в каком-нибудь shareReplay.
Я храню Стэйт в стримах,придумал не сам ,есть такой дизайн
Обсуждают сегодня