在 RxJava2 中向 CompositDisposable 添加一个 Maybe
Adding a Maybe to a CompositDisposable in RxJava2
在我的 Activity 中,我有以下内容,导致错误消息 'Error:(190, 35) error: incompatible types: MaybeObserver cannot be converted to Disposable'。我希望这能起作用,因为我一直在用 Completable 和 DisposableCompletableObserver 组合做类似的事情。我如何在 RxJava2 中使用带有 CompositeDisposable 的 Maybe?
private final CompositeDisposable disposables = new CompositeDisposable();
// ...
String id = authManager.getUserID();
Maybe maybe = userManager.getUser(id);
disposables.add(maybe
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribeWith(new DisposableMaybeObserver() {
@Override
public void onSuccess(Object o) {
}
@Override
public void onError(Throwable e) {
}
@Override
public void onComplete() {
}
}));
你应该使用 ResourceMaybeObserver
:
private final CompositeDisposable disposables = new CompositeDisposable();
String id = authManager.getUserID();
Maybe<Object> maybe = userManager.getUser(id);
disposables.add(maybe
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribeWith(new ResourceMaybeObserver<Object>() {
@Override
public void onSuccess(@NonNull Object o) {
}
@Override
public void onError(@NonNull Throwable e) {
}
@Override
public void onComplete() {
}
}));
在我的 Activity 中,我有以下内容,导致错误消息 'Error:(190, 35) error: incompatible types: MaybeObserver cannot be converted to Disposable'。我希望这能起作用,因为我一直在用 Completable 和 DisposableCompletableObserver 组合做类似的事情。我如何在 RxJava2 中使用带有 CompositeDisposable 的 Maybe?
private final CompositeDisposable disposables = new CompositeDisposable();
// ...
String id = authManager.getUserID();
Maybe maybe = userManager.getUser(id);
disposables.add(maybe
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribeWith(new DisposableMaybeObserver() {
@Override
public void onSuccess(Object o) {
}
@Override
public void onError(Throwable e) {
}
@Override
public void onComplete() {
}
}));
你应该使用 ResourceMaybeObserver
:
private final CompositeDisposable disposables = new CompositeDisposable();
String id = authManager.getUserID();
Maybe<Object> maybe = userManager.getUser(id);
disposables.add(maybe
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribeWith(new ResourceMaybeObserver<Object>() {
@Override
public void onSuccess(@NonNull Object o) {
}
@Override
public void onError(@NonNull Throwable e) {
}
@Override
public void onComplete() {
}
}));