gpt4 book ai didi

java - rxjava 延迟 : How to get variable delay on each item emitted from a list?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:43:19 26 4
gpt4 key购买 nike

我想在从可观察列表发出的每个项目之间设置自定义延迟,作为项目本身的函数。假设我们有一个列表作为(项目,延迟):

[("item1", 2),("item2", 1),("item3", 2),("item4", 3),("item5", 2),("item6", 3)]

我希望输出是这样的:

0 seconds: 
1 seconds:
item1
2 seconds:
item2
3 seconds:
4 seconds:
item3
5 seconds:
6 seconds:
7 seconds:
item4
8 seconds:
9 seconds:
item5
10 seconds:
11 seconds:
12 seconds:
item6
Completed!
13 seconds:

我不确定如何使用延迟/计时器运算符最好地完成此操作。通过延迟文档,但无法找到一个简单的方法。任何指针都会有所帮助。谢谢!

最佳答案

不需要任何花哨的东西。只需使用 concatMapdelay 运算符

jla.concatMap(s -> Observable.just(s).delay(s.delay, TimeUnit.SECONDS))           
.subscribe(s1 -> System.out.println(s1.name + " just came..."),
e -> {},
() -> System.out.println("Everybody came!"));

关于java - rxjava 延迟 : How to get variable delay on each item emitted from a list?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39012715/

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