java如何创建一个请求_如何使用RxJava2创建2或2个连续网络请求?

首先,如果您使用RxJava2和Retrofit2,请将 Observable 替换为 Single . Single 的结果恰好是一个 onSuccess() 或一个 onError() 方法调用 . Observable 更通用 .

public void func() {

Disposable disposable = Single.concat(getOrganisationList(), getStaffList())

.subscribe(result -> {

// called twice, when organisation call succeeded and when staff call succeeded

}, throwable -> {

// handle exceptions you want

if (throwable instanceof NullPointerException) {

// organisation - empty or null; staff - null

} // else if(throwable instanceof IOException) ...

});

}

public Single> getOrganisationList() {

return Single.just(Collections.singletonList("Hello")) // (1)

.map(organizations -> {

if (organizations.isEmpty()) {

throw Exceptions.propagate(new NullPointerException("List is empty"));

}

return organizations;

}).doOnSuccess(organizations -> {

// do something with organizations list

});

}

public Single> getStaffList() {

return Single.just(Collections.emptyList()) // (2)

.doOnSuccess(organizations -> {

// do something with staff list

});

}

您应该将API调用添加到标记为(1)和(2)的位置 . 我使用 String 和 Integer 来代替您的泛型类型_1120014_,以确保可以编译代码 .

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值