在scala rx中如何调用onNext

在scala rx中如何调用onNext,scala,system.reactive,reactive-programming,Scala,System.reactive,Reactive Programming,我试图理解可观察的是如何工作的。这是我的密码 def make: Stream[Int] = { Stream.cons(scala.util.Random.nextInt(10), { println("Making ..") Thread.sleep(1000) make }) } val y = Observable.from(make) y.foreach(a => println(a)) 发射将每1秒产生一个新

我试图理解可观察的是如何工作的。这是我的密码

def make: Stream[Int] = {
    Stream.cons(scala.util.Random.nextInt(10), {
      println("Making ..")
      Thread.sleep(1000)
      make
    })
  }

  val y = Observable.from(make)

  y.foreach(a => println(a))
发射将每1秒产生一个新值。我正在做一个可观察的。对于每个循环,将永远打印新生成的值

据我所知,a=>printlna是一个回调值,在rx observable中称为onNextt

我想弄清楚的是,它是如何粘在生产者身上的,所以当新的价值产生时,onNext在哪里被调用。我查看了rx代码一段时间,仍然无法理解


谢谢。

似乎订阅了流调用rx.Observable的

Subscription subscribe(Subscriber<? super T> subscriber) 

onNext是观察者代码,它的输入是it.next。这就是它的粘合方式。

它似乎订阅了流调用rx.Observable的

Subscription subscribe(Subscriber<? super T> subscriber) 
onNext是观察者代码,它的输入是it.next。这就是它粘在一起的方式