setInterval 实现轮询
时间: 2024-09-15 16:01:10 浏览: 42
`setInterval`是JavaScript内置的一个全局函数,它用于周期性地执行一段指定的代码,通常用于实现轮询功能。例如,你想每隔一段时间从服务器获取数据,就可以这样做:
```javascript
var intervalId; // 保存interval ID以便后续取消
function fetchData() {
fetch('http://example.com/api/data') // 替换为你实际的API地址
.then(response => response.json())
.then(data => {
// 处理返回的数据
console.log('最新数据:', data);
// 每次成功获取数据后可以选择是否继续轮询
// 如果不再需要轮询,记得清除interval
if (!shouldContinuouslyPoll) {
clearInterval(intervalId);
}
})
.catch(error => {
// 错误处理
console.error('数据获取失败:', error);
});
}
// 设置初始轮询间隔(单位毫秒),例如每5秒
var pollInterval = 5000;
intervalId = setInterval(fetchData, pollInterval);
// 当不需要轮询时,可以通过clearInterval取消
function stopPolling() {
shouldContinuouslyPoll = false;
}
```
这个函数会在设定的时间间隔内不断地尝试获取数据,直到`stopPolling`函数被调用。
阅读全文