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

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

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

11 ответов

18 просмотров

Сильно зависит от бизнеса, задачи, бэка и дизайна. Вообще есть две стратегии обновления данных - пессимистическая и оптимистическая. 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 🇷🇺
только стримы не для хранения

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

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта