Rx java RxJava创建消费者不安全

Rx java RxJava创建消费者不安全,rx-java,Rx Java,我对RX java是新手 尝试使用订阅服务器创建使用者,但我发现create方法已被弃用 我看到几乎所有其他的create方法,除了带有Emitter类的方法,都使用这个不安全的方法 “不安全”是什么意思?它与带发射器的有什么区别。我应该不用这个吗 @Deprecated public static <T> Observable<T> create(OnSubscribe<T> f) { return new Observable&

我对RX java是新手

尝试使用订阅服务器创建使用者,但我发现create方法已被弃用

我看到几乎所有其他的create方法,除了带有Emitter类的方法,都使用这个不安全的方法

“不安全”是什么意思?它与带发射器的有什么区别。我应该不用这个吗

  @Deprecated
    public static <T> Observable<T> create(OnSubscribe<T> f) {
        return new Observable<T>(RxJavaHooks.onCreate(f));
    }

  @Experimental
    public static <T> Observable<T> unsafeCreate(OnSubscribe<T> f) {
        return new Observable<T>(RxJavaHooks.onCreate(f));
    }
你好,伊多

“不安全”是什么意思

不安全意味着您需要高级RxJava知识来通过
create
unfececreate
实现运算符,但无论如何都不建议这样做

create
方法是创建RxJava内部操作符的一种非常早期的方法,必须是公共的,才能跨包工作。不幸的是,许多人找到了这种方法,转而开始实现基本源代码,然后想知道为什么它们的实现失败了。我们无法删除该方法,因为二进制兼容性以及正确使用它的用户

这个和有发射器的有什么区别

发射器版本正确地设置取消订阅,并强制开发人员指定背压策略,这通常与原始的
create
不一起考虑,导致
missingBackpressureeException

我应该不用这个吗

  @Deprecated
    public static <T> Observable<T> create(OnSubscribe<T> f) {
        return new Observable<T>(RxJavaHooks.onCreate(f));
    }

  @Experimental
    public static <T> Observable<T> unsafeCreate(OnSubscribe<T> f) {
        return new Observable<T>(RxJavaHooks.onCreate(f));
    }

因为您是RxJava新手,所以不应该使用
create(OnSubscribe)
unsecreate(OnSubscribe)
。还考虑学习RxJavaV2,而不再有不安全的创建。

谢谢。我编辑了我的帖子并添加了一个代码片段。如何正确地从远程HTTP服务获取数据?等等,RxJava 2确实有可观察的。unsafeCreate@IdoBarash我想了解onNext()方法是否在后台线程上工作?你知道吗?谢谢