Android Mosby MVI-如何重试意图?
我正在使用Mosby MVI库开发一个演示应用程序,该应用程序使用Interactor中的Reformation2在Restful API上执行简单的CRUD操作。 我构建的ViewState与示例应用程序中的非常相似,当改型响应错误时包含Throwable。在这种情况下,Android Mosby MVI-如何重试意图?,android,mosby,Android,Mosby,我正在使用Mosby MVI库开发一个演示应用程序,该应用程序使用Interactor中的Reformation2在Restful API上执行简单的CRUD操作。 我构建的ViewState与示例应用程序中的非常相似,当改型响应错误时包含Throwable。在这种情况下,render()函数会显示一个带有重试按钮的错误屏幕。 单击“重试”按钮时,我希望重新发出失败意图的最后一项 我想在Intent中添加类似于retryWhen()的内容,当然这只会由onError()触发 有没有添加这种行为的
render()
函数会显示一个带有重试按钮的错误屏幕。
单击“重试”按钮时,我希望重新发出失败意图的最后一项
我想在Intent中添加类似于retryWhen()
的内容,当然这只会由onError()
触发
有没有添加这种行为的简单方法?事实上,我自己使用
combineLatest()
解决了这个问题。
retrySubject不需要知道前面意图的内容
class MyViewActivity extends MviActivity<MyView, MyViewState> implements MyView {
PublishSubject<Boolean> retrySubject = ... ; // fires on retry Button click
...
@Override
public Observable<String> searchIntent(){
Observable<String> searchObservable = RxSearchView.queryTextChanges(searchView);
return Observable.combineLatest(searchObservable,retrySubject(searchString, retryClicked) -> searchString);
}
}
请同时查看@socketqwe的答案,网址为
@Override
protected void onStart() {
super.onStart();
retrySubject.onNext(true);
}