相关疑难解决方法(0)

Observable.create vs RxJava中的Observable.fromAsync

据我所知,由于缺乏背压支持Observable.create ,RxJava不鼓励使用.由于这个原因,我已经开始使用new Observable.fromAsync来包装回调API,因为它处理背压,看起来与其他看似相同的行为Observable.create.

然而,在这些草案文档中,建议似乎是暴露我创建的observable如下所示应解决此问题:

Observable<T> observable = Observable.create(onSubscribe).onBackpressureBuffer();
Run Code Online (Sandbox Code Playgroud)

它是否正确?此时两个运营商之间有什么区别?如果这是不正确的,是有过任何理由使用.create.fromAsync

rx-java

4
推荐指数
1
解决办法
1969
查看次数

将参数传递给Observable.create

我在Android上使用RXJava异步访问数据库.

我想在我的数据库中保存一个对象.通过这种方式,我创建了一个方法,它接受一个最终参数(我想要保存的对象)并返回一个Observable.

在这一点上,我不在乎发射任何东西,所以我最后会打电话subscriber.onComplete().

这是我的代码:

public Observable saveEventLog(@NonNull final EventLog eventLog) {
    return Observable.create(new Observable.OnSubscribe<Object>() {
        @Override
        public void call(Subscriber<? super Object> subscriber) {
            DBEventLog log = new DBEventLog(eventLog);
            log.save();
            subscriber.onCompleted();
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

问题是,我看到许多人使用参数的final关键字回答,但我想在没有它的情况下这样做.原因是我不喜欢声明一个final变量的方法,以便在另一个线程中使用它.

还有其他选择吗?谢谢.

android reactive-programming rx-java

1
推荐指数
1
解决办法
2342
查看次数

标签 统计

rx-java ×2

android ×1

reactive-programming ×1