在后台运行 void 方法

2024-03-12

我想使用 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返回类型?


The fromAction() http://reactivex.io/RxJava/2.x/javadoc/io/reactivex/Completable.html#fromAction(io.reactivex.functions.Action)方法就是您要寻找的。

Completable.fromAction(this::myHeavyMethod)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在后台运行 void 方法 的相关文章

随机推荐