gpt4 book ai didi

kotlin - Rx - 将新输入与之前的输出相结合

转载 作者:行者123 更新时间:2023-12-02 13:37:31 25 4
gpt4 key购买 nike

我有以下 reducer 案例:

    class XYZ Reducer(private val state: BehaviorRelay<State>) {

override fun invoke(events: Observable<Any>): Observable<State> =
events.ofType(Event::class.java).map { event ->
handleFieldClicked(event, state.value)
}

由于 reducer 需要 2 个信息:
  • 新事件
  • 以前的状态

  • 我正在将状态的行为中继传递给 reducer 。
    我试图找到一种方法来访问 map{} 中的先前状态和当前事件,就像扫描一样,我发现的只是 scan()将当前事件和先前事件作为参数。

    你知道比传递 behaviorRelay 更好的方法(运算符(operator)吗?)直接作为国家?

    最佳答案

    你可以结合flatMap()take(1) :

    class XYZ Reducer(private val state: BehaviorRelay<State>) {
    override fun invoke(events: Observable<Any>): Observable<State> =
    events.ofType(Event::class.java).flatMap { event ->
    state.take(1).map { state ->
    handleFieldClicked(event, state)
    }
    }
    }

    关于kotlin - Rx - 将新输入与之前的输出相结合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53050349/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com