android - 从 CompositeDisposable RXJava 获取价值 - Android
问题描述
如何从下面的代码中获取返回值:
CompositeDisposable mCompositeDisposable = new CompositeDisposable();
mCompositeDisposable.add(observableSubject(userName, password)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.doOnSubscribe(new Consumer<Disposable>() {
@Override
public void accept(@NonNull Disposable disposable) throws Exception {
}
})
.doFinally(new Action() {
@Override
public void run() throws Exception {
}
})
.subscribeWith(new DisposableObserver<String>() {
@Override
public void onComplete() {
}
@Override
public void onError(Throwable e) {
}
@Override
public void onNext(String res) {
//I need to get value from out of mCompositeDisposable.add(...)
Log.i("LOG", res);
}
}));
和 :
private Observable<String> observableSubject(String userName, String password) {
return Observable.defer(() -> {
//Some Code
return Observable.just("Value");
});
}
解决方案
EventBus
我用这种方法解决了我的问题:
@Override
public void onNext(String res) {
//SomeCode ....
//.... EventBus.getDefault() ....
}
推荐阅读
- reactjs - React - 如果作为道具传递的对象的属性已更改,则运行函数
- javascript - CSS背景图像未显示在Android设备中
- r - 平均和绘制值时如何定义下限和上限?
- php - Laravel 用户注册后授权不成功
- angular - 注入新实例 Angular
- go - 如何将更多项目添加到各种类型的切片中
- javascript - 有没有办法可以添加单个事件侦听器来覆盖多个?
- android - 由于可访问权限,应用已从 PlayStore 中删除
- circleci - 在 Circleci yaml 文件中使用 &&
- amazon-web-services - 从自己的 AMI 启动 AWS EC2 的密钥对