一个Observable如何根据另一个Observable发出价值

时间:2019-05-12 05:28:23

标签: rxjs reactive-programming rxjs6

所以,假设我有一个Observable,它是由一个带有时间戳值的有序数组创建的,还有另一个Observable是由事件创建的(基本上每秒发出四次时间戳)。

这里是问题,我该如何实现,以便第二个Observable发射值,第一个Observable发射所有值,直到达到大于第二个Observable发射值的值,然后等待第二个Observable继续发射

将其保持较短是一个Observable保持发射,直到大于另一个Observable的发射值为止。

e.g. : 
  Observable A [1,1.1,1.5,1.7,2,5,7]
  Observable B [1,2,3,4,5,6,7,8]
B emit 1 -> A emit 1, wait
B emit 2 -> A emit 1.1 1.5 1.7 2 wait
B emit 3........
B emit 7 -> A emit 7
B emit 8 -> A over

加:B是可搜索的

e.g. : 
  Observable A [1,1.1,1.5,1.7,2,5,7]
  Observable B [1,2,3,4,5,6,7,8]
B emit 1 -> A emit 1, wait
B emit 2 -> A emit 1.1 1.5 1.7 2 wait
B emit 3........
suddenly B seek to 2
B emit 2 -> A emit the one in A array which closest to 2
then keep moving
B emit 7 -> A emit 7
B emit 8 -> A over

1 个答案:

答案 0 :(得分:0)

我自己解决了这个问题

re.split()