Flux(1)
2022-03-31 10:36:09 0 举报
一个Flux程序的调用链。
作者其他创作
大纲/内容
this:FluxArraymapper:item -> item.length()
s.onNext(t)
consumer.accept(x)
调用LambdaSubscriber中consumer属性的方法
示例代码:public static void main(String[] args) { Flux<String> just = Flux.just(\"Beijing\
actual:LambdaSubscriber
fastPath()
publisher:FluxMapFuseable
actual.onSubscribe(this)
subscribe(subscriber)
subscriber:LambdaSubscriber
s.request(Long.MAX_VALUE)
CoreSubscriber subscriber = Operators.toCoreSubscriber(actual)
publisher = operator.source()
s:MapFuseableSubscriber
CorePublisher publisher = Operators.onLastAssembly(this)
调用MapFuseableSubscriber#onSubscribe()入参:ArraySubscription
s:MapFuseableSubscriberarray:FluxArray中的array
just.map(item -> item.length())
publisher:FluxArray
actual:LambdaSubscriberv:mapper.apply()方法的返回值
actual.onNext(v)
consumer:System.out::println
返回值类型:FluxMapFuseable
循环
s.request(n)
s:ArraySubscription
入参:LambdaSubscriber
publisher instanceof OptimizableOperator
构建FluxMapFuseable时,传入的是 FluxArray,保存在source属性中
调用MapFuseableSubscriber中mapper属性的方法
Y
actual:LambdaSubscriberthis:MapFuseableSubscriber
onAssembly(...)
s.onSubscribe(...)
subscriber = operator.subscribeOrReturn(subscriber)
publisher.subscribe(subscriber)
返回值类型:FluxArray。array 属性存放者序列元素。
subscribe(System.out::println)
开始
subscriber:MapFuseableSubscriber
OptimizableOperator operator = (OptimizableOperator) publisher
this:FluxMapFuseable
subscribeWith(...)
operator:FluxMapFuseable
Flux<String> just = Flux.just(\"Beijing\
actual:MapFuseableSubscriberarray:FluxArray中的array
0 条评论
下一页