KunMinX/MVI-Dispatcher-KTX

网络请求事件的状态处理

Closed this issue · 5 comments

比如定义了一个发起网络请求事件,涉及到Loading、异常处理等状态,请问这些要怎么处理呢,看提供的demo没有这方面的体现。

可参见 MVI-Dispatcher 最新示例。KTX 后续安排时间更新

@KunMinX 你好,ktx 安排上了吗

@KXwonderful @zhaoxiuyu 已更新。见 listFragment weather 示例

@KunMinX 如果没用Databinding,要怎么处理Loading Error之类的状态。是不是还得在output方法里面判断数据来手动控制 loading 。。
我没太明白。

@zhaoxiuyu 没理解造成你没明白的点在哪里 …
DataBinding 在传统 MVI 模式下主要用于 diff,如果你是想做 diff,除了 DataBinding 还就是 Jetpack compose,
如果你是想做响应式编程下的关注点分离,在处理业务逻辑的同时顺带通知状态改变,然后又不想做 diff,那就参考本 sample,在特定流程 input 回推一个状态,在 output 根据 intent 分流和通知相应控件渲染。

sample 中的 state 组件是 databinding observableField 的去防抖版,主要用于承担 BehaviorSubject 职责,也即配合 jetpack viewModel 通知控件渲染和将状态兜着。

另外 MVI-Dispatcher 框架本身并不局限于 MVI,只为提供简便且稳定的基础设施。所以具体怎么用,取决于项目本身规模和场景,没有什么绝对的对的模式和绝对的不对的模式需要照搬或规避。