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

Насколько я понимаю: сервер отдал херню, генерирую ошибку, выкидываю в

презентер и показываю пользователю что произошла херня. Можешь, пожалуйста, ситуацию из реальной жизни, когда нужно обрабатывать ошибку нетворк слоя в интеракторе?
И если не сложно - без завязки на Rx и еще какие-нибудь фреймворки

1 ответов

2 просмотра

Проблема в подходе «показал ошибку и все», что нет возможности сделать динамическую подписку на изменение подключения к интернету. Вот вам простой чат. Вы делаете запрос на отправку сообщения, при отсутствии интернета, вам надо подписаться на исчтоник контроля подключения к сети, и когда интернет вернется, таки отправить сообщение. Вы делаете // view presenter.handleSend(editText.getText().toString()) // presenter interactor.sendMessage(msg) // interactor validator.validateMsg(msg) .flatMap(msg) { msgRepo.sendMsg(msg) /* вот тут надо как-то перехватить потенциальную ошибку и делать переподписку на сеть */ } Там где комментарий, надо поймать возможную ошибку отсутствия подключения, иначе она полетит в onError и переподписка не случиться. Что вы можете предложить: 1) подписаться в репозитории. 2) подписаться в презентере. И вы сделаете так-как вам удобно. Но по первому случаю могу сказать, что иногда бывает так, что при отсутствии интернета надо дернуть еще другой репозиторий. Тоже самое с презентером

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

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

type TObj = object procedure Init; virtual; end; TObj1 = object(TObj) procedure Init; override; end; procedure TObj1.Init; begin inherited; end; procedur...
Alexander 👋
29
Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
45
А чем вам питонисты не угодили?😂
.
79
Язык Си можно выучить за день? По книжке ANSI C на 230 страниц
Vincent Vegan
29
Hello. Could you please help me with finding all coordinates within a radius using a spatial index, given that I have a table with coordinates? SET @lng = 37.57925; SET @lat ...
Rinchin G
7
Господа и дамы, поможите пожалуйста :( Запускаю notepad.exe из делфи CreateProcess(nil, PChar(FullPath), nil, nil, False, NORMAL_PRIORITY_CLASS, nil, nil, StartInfo, ProcessI...
Ivan Burnatov
7
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
75
I wrote frontend in flutter using dart. Where should I write backend?
𝐌𝐚𝐫𝐲
8
А че SwiftUI for Web ещё нет?
Shagit Ziganshin
7
Не получается у меня либу Zstd статически слинковать, вылазят какие-то AV Вроде example у них не сложный есть, вроде всё делаю как там... но не выходит чего-то Вопрос - если ...
notme
4
Карта сайта