vue轮询怎样理解?如何实现vue轮询请求?
Admin 2021-09-10 群英技术资讯 1641 次浏览
今天给大家分享的是关于vue轮询的内容,本文会给大家介绍对vue轮询的理解以及实现vue轮询请求的实例,感兴趣的朋友不妨继续往下了解看看。
轮询的重点在于间隔多少时间执行一次,而并非循环本身。ajax是异步请求,从发起请求到接受到响应即为一个完整的过程,这个过程所需要的时间是无法预料的,说的极端点,若请求所需的时间超过了我们轮询的间隔时间,那么是会出现很多问题的,所以轮询的间隔应该是在确保这个请求过程完成的基础之上的,这也更符合逻辑。
业务描述:
业务逻辑点分析:
// 轮询方法
polling (page) {
this.getWorks(page).then(res => {
this.pollingST = setTimeout(() => {
clearTimeout(this.pollingST)
this.polling(page)
}, 10000)
})
}
为什么不采用setInterval
setInterval的功能看似是完美符合轮询的概念,若我们的操作是同步代码,那么使用setInterval是没有任何问题的,问题就出在setInterval不够灵活,我们无法得知上一次请求是否已经完毕。所以setTimeout会更好一些。
需要注意的地方
在轮询中我将定时器用pollingST变量记录了下来,每次执行前必须先清除上一个定时器,因为递归的调用是在定时器内部,所以通过清除定时器就能很方便的结束轮询
<script>
export default {
data () {
return {
pollingST: null
}
},
methods: {
// 分页change事件
pageChange (params) {
// 清除现有定时器
clearTimeout(this.pollingST)
// 调用轮询
this.polling(params)
},
// 请求接口方法
getWorks () {
return new Promise(resolve => resolve({}))
},
// 轮询方法
polling (params) {
this.getWorks(params).then(res => {
this.pollingST = setTimeout(() => {
clearTimeout(this.pollingST)
this.polling(params)
}, 10000)
})
}
},
created () {
// 调用轮询
this.polling({ page: 1, pageSize: 5 })
},
destroyed () {
clearTimeout(this.pollingST)
}
}
</script>
以上就是关于vue轮询及vue轮询请求实现的介绍了,有需要的朋友可以参考本文实例,希望对大家理解vue轮询有帮助,想要了解更多请搜索群英网络以前的文章或继续浏览其他相关的文章。
文本转载自脚本之家
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要介绍了详解CocosCreator华容道数字拼盘,对华容道感兴趣的同学,看完之后,可以回去亲手试一下
javascript能增加标签,方法:1、使用“document.createElement("标签名")”语句创建新标签节点;2、使用insertBefore()或appendChild()函数在指定子元素节点前或后插入新标签节点。
随着组件的细化,就会遇到多组件状态共享的情况,今天我们介绍的是 vue.js 2.6 新增加的 Observable API ,通过使用这个 api 我们可以应对一些简单的跨组件数据状态共享的情况,感兴趣的可以了解一下
这篇文章主要给大家分享js不常见操作运算符总结,下面文章收i部分js操作运算符得介绍,需要的朋友可以参考一下,希望对你有帮助
路由权限控制常用于后台管理系统中,对不同业务人员能够访问的页面进行一个权限的限制。本文主要介绍了两种Vue 路由权限控制,具有一定的参考价值,感兴趣的可以了解一下
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008