我试图用相同的观察者观察两个请求。我的观察者
:
private BaseObserver<LoginResponse> loginObserver = new BaseObserver<LoginResponse>(this) {
@Override
public void onSubscribe(Disposable d) {
super.onSubscribe(d);
showLoading(true);
Log.d(TAG, "onSubscribe: ");
}
@Override
public void onNext(LoginResponse response) {
super.onNext(response);
Log.d(TAG, "onNext: ");
}
@Override
public void onComplete() {
super.onComplete();
showLoading(false);
Log.d(TAG, "onComplete: ");
}
@Override
public void onError(Throwable e) {
super.onError(e);
showLoading(false);
}
};
我的请求是使用Reformation 2构建的登录请求:
private void sendRequest(String username, String password) {
IResourceAPI iResourceAPI = RetrofitClient.createIResourceClient(this);
iResourceAPI.login(new LoginRequest(username, password))
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribeWith(loginObserver);
}
现在我想启动2个或更多请求并在onNext
中逐个检查响应,当检查最后一个请求时,使用我的观察者
执行on完整
。有人能帮我吗?
提前致谢。
听起来你好像在找合并运算符。
您正在寻找合并运算符:
通过使用Merge操作符,可以将多个可观察对象的输出组合起来,使它们像单个可观察对象一样工作。
只需修改您的请求,返回一个可观察值:
private Observable<LoginResponse> request(String username, String password) {
IResourceAPI iResourceAPI = RetrofitClient.createIResourceClient(this);
iResourceAPI.login(new LoginRequest(username, password))
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
}
然后合并:
Observable.merge<LoginResponse>(request(...), request(...))
.subscribeWith(loginObserver);
可观察的如下所示。
我使用Reformation2和RxJava2从服务器获取数据。我有以下格式的回复: 我得到以下异常: ApiService.class RetrofitClient.class 现在我正在使用如下的一些东西来获取数据: 有人请让我知道为什么我得到这个exception.Any帮助将不胜感激。 谢谢
嗨,我有Flux,在迭代每个元素时,它会创建新的单声道。我也有其他单声道之外的通量。并要做到以下几点:当流量(与相应的内部单声道的结束),然后做第二个单声道。最大的挑战是单声道内部的流量从网络客户端请求中产生。作为起点,请看看“加载”方法。基本上没有webClient它的工作,但在情况下与webClient内部地图工作之后。使用Spring启动2 渐变依赖性:
问题内容: 我正在使用Retrofit集成我的Web服务,但我不明白如何使用POST请求将JSON对象发送到服务器。我目前陷入困境,这是我的代码: 活动:- PostInterface:- 要求JSON:- 响应JSON:- 问题答案: 在gradle中使用这些 使用这两个POJO类........ LoginData.class LoginResult.class 像这样使用API 使用这样的呼
我正在学习使用RxAndroid库的RxJava,同时使用改型来进行联网,并使用RetroLambda来使用Java8 lambdas。 我希望构建的应用程序具有以下功能: 允许用户键入对Wikipedia API的查询 我让它像这样工作: 现在,我想添加一个新的小部件,允许我的维基百科查询使用另一种语言。现在,我将选择一个开关,以“en”或“nl”作为维基百科url的前缀。 所以我从开关中创建了
我依赖于retrofit2,该retrofit2配置为使用RxJava包装响应,并使用GSon解析它们。 我在用Reterfit做Rest服务。 search REST服务返回一个JSON null 它为我的接口生成服务,并使用解析响应,并用包装它。 然后我获得服务: 请注意,我不编写这个服务的代码,因为retrofit工作时,它使用我的接口()注释自动生成服务。 如果用户使用执行搜索调用,则不会