在https://rxjava-doc.readthedocs.io/en/latest/What%27s-different-in-2.0/中没有提及它,我在编码时无法在建议中看到它。我可以看到“safeSubscribe()”。
它被删除了吗?
答案 0 :(得分:0)
在v1中,默认的Observable.subscribe
方法在传入的Subscriber
(称为SafeSubscriber
)上添加了一个安全包装,以防止某些滥用或其他非常规行为(例如崩溃{{1 }和onError
)。
这通常会对运营商造成不利影响,因此大多数运营商都引入并使用了onCompleted
。
unsafeSubscribe
,Observer
和onNext
方法,因此对onError
行为更为严格。希望人们在实现onComplete
时不会在这些方法中明确崩溃,或者他们只是使用lambda - Observer
方法,而是删除了默认的安全包装。所以基本假设变成了subscribe()
s表现得很好。因此,不再需要Observer
方法。同时作为API刷新机会(主要版本跳转之间不强制使用二进制兼容性),我们可以选择删除或重命名旧方法。
不幸的是,一些实施者在这方面仍然不可靠,并期望旧的安全网。为了避免伤害玩家,引入了unsafeSubscribe
方法,以尽可能优雅地防止这种不良行为。