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

Доброе утро всем. Вопрос такой. Есть сервис, который хранит в

себе некоторые данные. Эти данные получаются из сети, и записываются в сервис.

Если из одного компонента будет идти сетевой запрос и там же записывать эти данные в сервис - то всё ок.

Но что если процесс "инициализации" может происходить например из нескольких разных компонентов? В каждом писать получение - передачу? Получается дублирование кода, как-то вообще не прикольно :)

Написать базовый класс имплементирующий метод инициализации и передачи данных в сервис? Но тогда наследоваться будем только от него. А если моему компоненту надо наследоваться от кого-то ещё?

Чёт запутался тут, подскажите куда копнуть.

8 ответов

9 просмотров

Зачем метод инициализации вообще? Сделайте поток, который будет грузить данные сам при подписке и всё. И почему сетевой запрос из компонента идёт?

Who-Knows Автор вопроса
Oleg Safonov
Зачем метод инициализации вообще? Сделайте поток, ...

О, есть человек. Давайте выясним кое-что. Я сильно плаваю в вопросе, поэтому буду задавать уточняющие вопросы. Вы предлагаете создать поток, который грузит данные при подписке на сервис? Про запрос из компонента. Система по типу "выбери объект и совершай действия с ним". То есть я выбираю объект, подгружаю его данные, кидаю их в сервис и потом кручу-верчу как мне надо. А в итоге сохраню этот изменённый объект. Сейчас я сделал кажется ещё хуже. В сервисе сделал метод init(), который дёргаю из нужных мне компонент. По иниту сервис кидает сетевой запрос, подгружает данные и в себе сохраняет.

Who-Knows Автор вопроса

Но тут же и вся закавыка! Если выбранный объект поменялся - мне надо целиком обновить все данные в сервисе. Ну грубо говоря проинициализировать его заново. А сервис OnInit не имеет, то есть мне всё равно надо как-то вот эту инициализацию явно вызвать из компонента. Иначе будет ситуация, когда я выбрал объект где-то, забыл дёрнуть инициализацию и у меня данные от объекта А, а я думаю, что редактирую объект В.

Зачем все заново? При изменении объекта нужно бэк дёргать?

Who Knows
Но тут же и вся закавыка! Если выбранный объект ...

Так, в сервисе не куча объектов, а всегда один только, редактируемый?

Who-Knows Автор вопроса
Oleg Safonov
Зачем все заново? При изменении объекта нужно бэк ...

Выбираем объект А. Данные сохранились в сервисе. Мы их мутируем как нам надо, в итоге либо сохраняем (отправляем на бек), либо дропаем изменения. В любом случае попадаем на таблицу выбора объектов. Выбираем объект В. Теперь в сервисе должны храниться данные от объекта В. Как они там появятся, если я явно не вызову метод сервиса - мне непонятно :(

Who Knows
Выбираем объект А. Данные сохранились в сервисе. М...

Таблица выбора объектов- Это данные из сервиса? Где хранится список объектов то?

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

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

Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
а как ловят такое ghci> res <- getPos2 urlt 0 (alist !! 0) 200 ghci> res SearchAtom (Search "www.google.com" "/search?q=" "Haskell") "haskell.org" (SearchTS [(2024-05-06 07:...
Fedor
14
короче сгенерила мне эта штука код на ассемблере: struc string val { common local .value dq .value .value: if ~val eq db val end if db 0 } fo...
Vi Chapmann Chapmann
12
Есть тут те у кого дети есть + 2 работы + в зал ходят + в семейной жизни все хорошо?
Abdul-Aziz M.
13
Всем привет! Массив вводится с клавиатуры, кол-во элементов неизвестно, поэтому я указал arr db 100 dup(?) С нахождением максимума проблем нет, а вот минимум почему-то всегд...
En Vind Av Sorg
11
кто шарит: mattermost отслеживает что ты на пк запускаешь?
Valentin
13
Помогите, пожалуйста, делаю программу для для подсчёта корней квадратного уравнения, знаю, что есть куча недочётов, недоработок, но основная проблема в том, что почему-то при ...
NYC
13
в сях есть множество как в питоне? для удаление дубликатов
Linus
25
Всем привет! Стоит задачка, выбрать из выпадающего списка конкретный цвет. Пока реализовал через активацию контрола списка и выбора несколькими нажатиями стрелки вправо до нуж...
Роман.С
9
Карта сайта