gpt4 book ai didi

javascript - 更改超时时间

转载 作者:搜寻专家 更新时间:2023-10-30 21:48:28 27 4
gpt4 key购买 nike

我正在构建 Angular 6 应用程序,其中我有多个项目,每个项目都有一些配置。在每个项目上,我都定义了该项目必须显示多长时间。

我创建了这个,但我感兴趣的是它是否可以用 rxjs 编写或者是否有更简单的解决方案。

const timer = () => {
this.counter++;
this.currentItem = this.items[this.counter % this.items.length];
setTimeout(timer, this.currentItem.duration);
};
setTimeout(timer, this.currentItem.duration);

最佳答案

使用 RxJS 6 你可以做这样的事情

from(items)
.pipe(
concatMap(item => of(null) // Wait until the previous inner observable completes
.pipe(
delay(item.duration), // Delay emission after this value
ignoreElements(),
startWith(item),
)
),
repeat(),
)
.subscribe(console.log);

查看现场演示:https://stackblitz.com/edit/rxjs6-demo?file=index.ts

关于javascript - 更改超时时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50372724/

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