从CompositeDisposable RXJava - Android获取价值

问题描述 投票:1回答:1

如何从波纹管代码中获取返回值:

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");
    });
}
android rx-java2 rx-android
1个回答
0
投票

我在这个方法中用EventBus解决了我的问题:

@Override
public void onNext(String res) {
   //SomeCode .... 
   //.... EventBus.getDefault() ....
}
© www.soinside.com 2019 - 2024. All rights reserved.