Skip to content

Commit 1aa6fc2

Browse files
Merge pull request #1345 from jbripley/doblock-simplify
RxScala: Simplify doOnCompleted/Terminate, finallyDo callback usage
2 parents d56959d + 223e502 commit 1aa6fc2

File tree

2 files changed

+19
-10
lines changed

2 files changed

+19
-10
lines changed

language-adaptors/rxjava-scala/src/examples/scala/rx/lang/scala/examples/RxScalaDemo.scala

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -751,22 +751,31 @@ class RxScalaDemo extends JUnitSuite {
751751
obs.toBlockingObservable.toIterable.last
752752
}
753753

754+
@Test def doOnCompletedExample(): Unit = {
755+
val o = List("red", "green", "blue").toObservable.doOnCompleted { println("onCompleted") }
756+
o.subscribe(v => println(v), e => e.printStackTrace)
757+
// red
758+
// green
759+
// blue
760+
// onCompleted
761+
}
762+
754763
@Test def doOnTerminateExample(): Unit = {
755-
val o = List("red", "green", "blue").toObservable.doOnTerminate(() => println("terminate"))
764+
val o = List("red", "green", "blue").toObservable.doOnTerminate { println("terminate") }
756765
o.subscribe(v => println(v), e => e.printStackTrace, () => println("onCompleted"))
757766
// red
758767
// green
759-
// blud
768+
// blue
760769
// terminate
761770
// onCompleted
762771
}
763772

764773
@Test def finallyDoExample(): Unit = {
765-
val o = List("red", "green", "blue").toObservable.finallyDo(() => println("finally"))
774+
val o = List("red", "green", "blue").toObservable.finallyDo { println("finally") }
766775
o.subscribe(v => println(v), e => e.printStackTrace, () => println("onCompleted"))
767776
// red
768777
// green
769-
// blud
778+
// blue
770779
// onCompleted
771780
// finally
772781
}

language-adaptors/rxjava-scala/src/main/scala/rx/lang/scala/Observable.scala

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -879,8 +879,8 @@ trait Observable[+T]
879879
* an function to be invoked when the source Observable finishes
880880
* @return an Observable that emits the same items as the source Observable, then invokes the function
881881
*/
882-
def finallyDo(action: () => Unit): Observable[T] = {
883-
toScalaObservable[T](asJavaObservable.finallyDo(action))
882+
def finallyDo(action: => Unit): Observable[T] = {
883+
toScalaObservable[T](asJavaObservable.finallyDo(() => action))
884884
}
885885

886886
/**
@@ -3406,8 +3406,8 @@ trait Observable[+T]
34063406
* `onCompleted`
34073407
* @return the source Observable with the side-effecting behavior applied
34083408
*/
3409-
def doOnCompleted(onCompleted: () => Unit): Observable[T] = {
3410-
toScalaObservable[T](asJavaObservable.doOnCompleted(onCompleted))
3409+
def doOnCompleted(onCompleted: => Unit): Observable[T] = {
3410+
toScalaObservable[T](asJavaObservable.doOnCompleted(() => onCompleted))
34113411
}
34123412

34133413
/**
@@ -3461,8 +3461,8 @@ trait Observable[+T]
34613461
* @see <a href="https://github.com/Netflix/RxJava/wiki/Observable-Utility-Operators#wiki-doonterminate">RxJava Wiki: doOnTerminate()</a>
34623462
* @see <a href="http://msdn.microsoft.com/en-us/library/hh229804.aspx">MSDN: Observable.Do</a>
34633463
*/
3464-
def doOnTerminate(onTerminate: () => Unit): Observable[T] = {
3465-
toScalaObservable[T](asJavaObservable.doOnTerminate(onTerminate))
3464+
def doOnTerminate(onTerminate: => Unit): Observable[T] = {
3465+
toScalaObservable[T](asJavaObservable.doOnTerminate(() => onTerminate))
34663466
}
34673467

34683468
/**

0 commit comments

Comments
 (0)