【发布时间】:2020-07-31 09:30:56
【问题描述】:
我想在一个函数运行后延迟它,这样它就不能在这段时间内再次运行。
一个接近它的例子:
ngOnInit() {
setInterval(() => this.functionWithTimeLimit(), 500);
}
functionWithTimeLimit() {
if(allowedToRun){
console.log('Run me every 2 seconds at most');
allowedToRun = false;
setTimeout(() => allowedToRun = true, 2000); // Allow to execute this function again after two seconds
}
}
但我确信使用 rxjs 可能有更好的方法来做到这一点。我怎么能这样做?
【问题讨论】:
-
看看这个问题中不同的“节流”方法:Simple throttle in js
-
油门是我一直在寻找的术语,谢谢!它把我带到了这个页面:telerik.com/blogs/…。这让我明白我真的需要油门而不是去抖动。
标签: javascript angular rxjs observable