vue实现定时请求
在上面的示例中,我们在created钩子函数中发送了初次请求,并使用setInterval函数设置了整点定时发送请求。在每秒钟的回调函数中,我们检查当前时间是否为整点,并在是的情况下调用fetchData方法。同时,我们还使用了Vue的响应式数据来更新页面中的时间和列表。我们可以在Vue的created钩子函数中发送初次请求,并使用JavaScript中的setInterval函数来设置整点定时发
·
需求:
我司现有大屏需要接入第三方天气接口,考虑到要保证数据的实时,并要确保限制天气api调用次数。 所以讨论决定在进入页面时调用api一次,并在整点调用一次。
因为大屏平均每天开启一次,从上午展示到晚上,所以不会频繁去打开页面
前端实现:
我们可以在Vue的created钩子函数中发送初次请求,并使用JavaScript中的setInterval函数来设置整点定时发送请求。以下是一个示例
<template>
<div>
<h1>当前时间:{{ currentTime }}</h1>
<ul>
<li v-for="item in items" :key="item.id">{{ item.name }}</li>
</ul>
</div>
</template>
<script>
export default {
data() {
return {
currentTime: new Date().toLocaleString(),
items: []
};
},
created() {
// 初次请求
this.fetchData();
// 设置整点定时发送请求
setInterval(() => {
const now = new Date();
if (now.getMinutes() === 0 && now.getSeconds() === 0) {
this.fetchData();
}
this.currentTime = now.toLocaleString();
}, 1000);
},
methods: {
fetchData() {
// 发送请求的代码
// 例如使用axios发送请求
axios.get('/api/items').then(response => {
this.items = response.data;
});
}
}
};
</script>
在上面的示例中,我们在created钩子函数中发送了初次请求,并使用setInterval函数设置了整点定时发送请求。在每秒钟的回调函数中,我们检查当前时间是否为整点,并在是的情况下调用fetchData方法。同时,我们还使用了Vue的响应式数据来更新页面中的时间和列表。
更多推荐
已为社区贡献1条内容
所有评论(0)