使用以下build.sbt
name := "blah"
version := "1.0"
scalaVersion := "2.11.6"
libraryDependencies ++= Seq("io.reactivex" % "rxscala_2.11" % "0.24.1", "org.scalaj" %% "scalaj-http" % "1.1.4")这个代码是:
import rx.lang.scala.Observable
import scala.concurrent.duration._
import scala.language.postfixOps
object Main {
def main(args: Array[String]): Unit = {
println("Ready?")
val o = Observable.interval(200 millis).take(5)
o.subscribe(n => println(s"n = ${n}"))
}
}当我运行它时,所有打印出来的都是Ready?;我根本没有看到任何n = ...。
我使用sbt run运行;它使用Scala2.6.11和RxScala 0.24.1以及SBT0.13构建。有什么想法吗?
发布于 2015-05-22 13:18:12
问题是您的程序在o启动之前就退出了。尝试以下代码:
import rx.lang.scala.Observable
import scala.concurrent.duration._
import scala.language.postfixOps
object Main {
def main(args: Array[String]): Unit = {
println("Ready?")
val o = Observable.interval(200 millis).take(5)
o.subscribe(n => println(s"n = ${n}"))
Thread.sleep(5000)
}
}或者,您可以将Thread.sleep替换为o.toBlocking.last,o.toBlocking.last不能在o终止之前返回。
https://stackoverflow.com/questions/30397704
复制相似问题