7

What is the difference betweeen these two operators ? http://reactivex.io dont mention .subscribeNext at all.

Alexey K
  • 6,537
  • 18
  • 60
  • 118

1 Answers1

14

In RxSwift versions older than 3, subscribeNext(_: Value -> ()) was a specialized version of subscribe(_: Event<Value> -> ()).

subscribe(_:) would be triggered for every cases of event, namely .next(Value), .error(Error) and .completed.

subscribeNext would trigger only for .next(Value), unpacking Value first.

As of RxSwift version 3, subscribeNext is now

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

The nil default values enabling users to call subscribe only with the callbacks they are interested about.

tomahh
  • 13,441
  • 3
  • 49
  • 70