gpt4 book ai didi

javascript - 带区间变量的 rxjs 无限循环

转载 作者:行者123 更新时间:2023-11-28 13:12:35 24 4
gpt4 key购买 nike

我想使用 rxjs Observable 使用区间变量进行无限循环所以我尝试在 rxjs 中重写这个函数

takeAWalk(player){
setTimeout(() => {

console.log("Player is walking...");

takeAWalk(player);
}, getRandomDelayBetween(1000, 2500));
}

我试过了

Observable
.timer(0, getRandomDelayBetween(1000, 2500))
.take(10)
.timeInterval()
.subscribe(res=>{
console.log("player is walking ...");
});

但问题是它有限为 10 并且间隔是恒定的(getRandomDelayBetween 仅调用一次)。

我应该使用哪些运算符来生成与 takeAWalk 函数相同的功能?

最佳答案

在rxjs中有很多方法可以写这个,你可以尝试这样的:

Rx.Observable.of(null)
.concatMap(() => Rx.Observable.timer(Math.random() * 1500))
.do(() => console.log("player is walking ..."))
.repeat() // optionally .repeat(10)
.subscribe();

查看此处的示例:http://jsbin.com/levakipunu/edit?js,console

关于javascript - 带区间变量的 rxjs 无限循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41197720/

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