bacon.js如何基于第一个将流与另一个组合?

时间:2017-04-18 22:35:34

标签: stream observable bacon.js

我有一个来自API的数据流daysFromApi$,包含数据(用餐时间)。当一个'删除'单击按钮,我将mealId推送到this.deleteBus $。我希望在流中有一个新值:daysAfterDelete$。我的问题是“第一个'事件总是被触发,但已完成'从不触发,flatMapLatest不起作用,map也不起作用。

const daysAfterDelete$ = this.deleteBus$
        .log('first') // triggers when new mealId is pushed to deleteBus(a button is clicked)
        .flatMapLatest(mealId => Bacon.combineAsArray(daysFromApi$, mealId))
        .log('done'); // never triggers

我希望得到以下流程:

daysFromApi$    :      A          B                             C
deleteBus$      :         1             2               3
daysAfterDelete$:         (1,A)        (2,B)           (3,B)

1 个答案:

答案 0 :(得分:1)

不太确定你想要达到什么目标,但如果你想获得" days"的最新价值。单击删除时,您可以使用sampledByhttps://www.webpackbin.com/bins/-Ki3lTzM8PM4zeJKK9C0