有时,我想在我的Observable序列中触发Runnable,但是Runnable不报告进度。
我编写了一个简单的工厂将Runnable对象包装成Observable:
但是RxJava 2已经提供了这个功能吗?
public static <T> Observable<T> fromRunnable(final Runnable action) {
if (action == null) {
throw new NullPointerException("action");
}
return Observable.fromPublisher(subscriber -> {
try {
action.run();
subscriber.onComplete();
} catch (final Throwable throwable) {
subscriber.onError(throwable);
}
});
}
使用方法:
Observable.concat(
someTask,
MoreObservables.fromRunnable(() -> {
System.out.println("Done. ");
}));
但是RxJava 2已经提供了这个功能吗?
Runnable
可能抛出的任何Throwable
? - sdgfsdh