JavaScript中setTimeout实现轮询 (vs setInterval)
setTimeout(表达式,延时时间)在执行时,是在载入后延迟指定时间后,去执行一次表达式,次数是一次。
setInterval(表达式,交互时间)则不一样,它从载入后,每隔指定的时间就执行一次表达式。
如果指定循环次数,每次间隔一定时间,可以用setTimeout
1: function f(){
2: //Do something here...
3: };
4:
5: for(var i = 1; i < 13; i++){
6: setTimeout(f, 1000);
7: }
8:
如果希望每隔指定的时间就执行一次表达式,但无限制循环 - 轮询(直到某个条件满足,跳出)。可以在表达式内再次触发setTimeout从而形成周而复始的定时效果。
1: function f(){
2: if(myCondition) //跳出循环的条件
3: {
4: //Do something here...
5: setTimeout(f, 1000); //循环调用触发setTimeout
6: };
7:
8: setTimeout(f, 1000);
或许您对以下相关文章有兴趣:
分类:
其它
标签:
JavaScript
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述