RxSwift - .subscribe与.subscribeNext有什么区别?

时间:2016-11-02 18:27:57

标签: rx-java rx-swift reactivex

这两个运营商之间有什么区别? http://reactivex.io根本不提.subscribeNext。

1 个答案:

答案 0 :(得分:14)

在3岁以上的RxSwift版本中,subscribeNext(_: Value -> ())subscribe(_: Event<Value> -> ())的专用版本。

每个事件都会触发

subscribe(_:),即.next(Value).error(Error).completed

subscribeNext仅触发.next(Value),首先解包Value

从RxSwift版本3开始,subscribeNext现在是

func subscribe(
  onNext: ((Value) -> ())? = nil,
  onError: ((Error) -> ())? = nil,
  onCompleted: (() -> ())? = nil, 
  onDisposed: () -> () = nil
)

nil默认值,使用户只能使用他们感兴趣的回调来调用subscribe