我想使用rxjava在后台运行方法。我不在乎结果。

void myHeavyMethod() { (...) }

到目前为止,我唯一的解决方案是将返回类型修改为例如boolean
boolean myHeavyMethod() { (...) return true; }

之后,我运行:
Completable.defer(() -> Completable.fromCallable(this::myHeavyMethod))
        .subscribeOn(Schedulers.computation())
        .subscribe(
                () -> {},
                throwable -> Log.e(TAG, throwable.getMessage(), throwable)
        );

有没有办法保持void返回类型?

最佳答案

所需的 fromAction() 方法。

Completable.fromAction(this::myHeavyMethod)

09-26 04:15