169 похожих чатов

Всем привет,какая по вашему мнению наилучшая практика в ситуации с

управлением данных в приложении,думаю что ситуация довольно стандартная ,у меня есть несколько компонент которые нуждаются в данных ,при загрузке одной из компонент я загрузил с API данные и храню из в стриме,если данные не меняються проблем как бы нет ,допустим я создал новый счёт данных и отправил на сераер ,вопрос такой как лучше поступить в момент когда нужно будет отобразить новые данные,делать запрос на сервер и получать обновленные данные или локально менять первичный набор данных и работать с ним?

11 ответов

5 просмотров

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

Oleg-Livcha Автор вопроса
Andrey Fastovsky
Сильно зависит от бизнеса, задачи, бэка и дизайна....

Ого, огромное спасибо за исчерпывающий ответ,буду иметь в виду.

Доброго времени суток. Я только начинаю изучать Angular, и у меня вопрос возник...что значит хранить данные из api в стриме и что вообще такое стрим?

Oleg-Livcha Автор вопроса
Alex
Доброго времени суток. Я только начинаю изучать An...

Rxjs,reactive programming paradigm,погугли,тема довольно обширная но в целом упирается в использования асинхронных источников данных и их хранения

Oleg Livcha
Rxjs,reactive programming paradigm,погугли,тема до...

формулировка у чела такая, что ощущение, что он не в курсе, о чем вообще спрашивает

Alex
спасибо

только стримы не для хранения

Alex
Доброго времени суток. Я только начинаю изучать An...

Предполагаю, что имеется в виду кэширование ответа сервера в каком-нибудь shareReplay.

Oleg-Livcha Автор вопроса
Eugene Udalov 🇷🇺
только стримы не для хранения

Я храню Стэйт в стримах,придумал не сам ,есть такой дизайн

Похожие вопросы

Обсуждают сегодня

@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
Подобного рода ;Следующие три строки это директивы ассемблера, ;которые можно не задавать, т.к.работаем в Visual Studio. ;Символ ";" - это начало однострочного комментария ...
Егор Анелькин
3
Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
Подскажите, где смотреть результат выполнения программы? Код: ;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, станда...
Егор Анелькин
5
еще вопрос, допустим мы создадим char массив из 10 элементов и присвоим ему через сканф 10 символов. и выведем все символы. Хотел спросить последний элемент /0 будет включать...
Anthem
11
открыть папку в проводнике: 1 - ShellExecute 2 - ExecuteProcess 3 - OpenDocument что лучше выбрать?
Alexey Kulakov
12
Изменение типа с SomeException на String и правда удобней @cheese_hs . А вот такой вариант насколько некрасив еще? loadConfigDB :: IO (Either String ConfigDataBase) loadConfi...
Camara
7
Где в Астане можно купить мясо для шашлыков?
Dancing Іңұқәһүғө
21
Карта сайта