用值初始化RxJava流

时间:2019-07-15 06:47:51

标签: rx-java

我有以下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”。设置初始值该怎么办?

0 个答案:

没有答案