RxJava/RxKotlin根据子类型拆分流
我有一个RxJava/RxKotlin根据子类型拆分流,kotlin,rx-java,rx-kotlin,rx-kotlin2,rx-javafx,Kotlin,Rx Java,Rx Kotlin,Rx Kotlin2,Rx Javafx,我有一个响应消息流,可以是不同的子类型。我想将流分割成流,这样我就可以在自己的流中处理每种类型 我第一次尝试的结果是,我看不出有什么效果 file.readLines() .toObservable() .map { mapper.readValue(it, ResponseMessage::class.java) } .groupBy { when(it) { is MarketChangeMessage -> it
响应消息流
,可以是不同的子类型。我想将流分割成流,这样我就可以在自己的流中处理每种类型
我第一次尝试的结果是,我看不出有什么效果
file.readLines()
.toObservable()
.map { mapper.readValue(it, ResponseMessage::class.java) }
.groupBy { when(it) {
is MarketChangeMessage -> it::class
else -> it::class
}}
.map { it.????? } //How can possible this work?
我现在的问题是:
将流划分为一个特定子类型的流的惯用方法是什么?您可以使用类型的
操作符:
类型( ) — 仅从源可观察到的属于特定类的项发出
例如:
val messages = file.readLines()
.toObservable()
.map { mapper.readValue(it, ResponseMessage::class.java) }
.share() // <-- or other multicasting operator
messages
.ofType(MarketChangeMessage::class)
.subscribe()
messages
.ofType(Other::class)
.subscribe()
val messages=file.readLines()
.TooObservable()文件
.map{mapper.readValue(it,ResponseMessage::class.java)}
.share()//您可以使用类型
运算符的:
类型( ) — 仅从源可观察到的属于特定类的项发出
例如:
val messages = file.readLines()
.toObservable()
.map { mapper.readValue(it, ResponseMessage::class.java) }
.share() // <-- or other multicasting operator
messages
.ofType(MarketChangeMessage::class)
.subscribe()
messages
.ofType(Other::class)
.subscribe()
val messages=file.readLines()
.TooObservable()文件
.map{mapper.readValue(it,ResponseMessage::class.java)}
.share()//