我有以下RxJava流:
val msgToSendPublisher = BehaviorSubject.createDefault(MessageToSend())
msgToSendPublisher
.flatMap { _ ->
App.context.repository.getMessageToSend().toObservable()
}
.doOnNext {
msgToSendPublisher.onNext(it)
}
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe()
flatMap参数是一个下划线,并且在调用msgToSendPublisher时,它将传递“ it”。目前,我没有使用此参数。我需要修改我的代码,以便它可以使用它,但是我需要对其进行修改,以便在最初调用流时提供一个初始值。修改后的代码如下所示:
msgToSendPublisher
.flatMap { id ->
App.context.repository.getMessageToSend(id).toObservable()
}
.map {id ->
msgToSendPublisher.onNext(id)
}
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe()
因此,在流开始之前,我希望将id设置为“ 12346”。设置初始值该怎么办?