vue项目每30秒刷新1次接口的实现方法


Posted in Javascript onDecember 04, 2018

在vue.js项目中,经常需要对数据实时更新——每隔xx秒需要刷新一次接口——即需要用到定时器相关原理

我们先看一看2种常用定时器:

setInterval(function(){}, milliseconds)——会不停的调用函数
setTimeout(function(){}, milliseconds)——只执行函数一次

乍看之下,setInterval会符合我们的业务需求,然而也需要注意一些坑,单纯的使用setInterval会导致页面卡死!其原因与JS引擎线程有关(有兴趣的童鞋可自行研究相关资料),用通俗话说就是setInterval不会清除定时器队列,每重复执行1次都会导致定时器叠加,最终卡死你的网页。

但是setTimeout是自带清除定时器的,因此正确解决方法如下:

window.setInterval(() => {
  setTimeout(fun, 0)
}, 30000)

注意:setInterval必须放在外层(在内层会导致页面卡顿直到崩溃),内层配合setTimeout,即可无限次调用我们的接口啦!

总结

以上所述是小编给大家介绍的vue项目每30秒刷新1次接口的实现方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
js 操作css实现代码
Jun 11 Javascript
JavaScript 自动完成脚本整理(33个)
Oct 20 Javascript
jQuery 遍历json数组的实现代码
Sep 22 Javascript
jQuery UI AutoComplete 自动完成使用小记
Aug 21 Javascript
js过滤HTML标签以及空格的思路及代码
May 24 Javascript
js实现人才网站职位选择功能的方法
Aug 14 Javascript
Node.js中npm常用命令大全
Jun 09 Javascript
基于jQuery实现左侧菜单栏可折叠功能
Dec 27 Javascript
angular中实现li或者某个元素点击变色的两种方法
Jul 27 Javascript
JS实现的将html转为pdf功能【基于浏览器端插件jsPDF】
Feb 06 Javascript
微信小程序实现商品属性联动选择
Feb 15 Javascript
小程序实现悬浮搜索框
Jul 12 Javascript
详解webpack4之splitchunksPlugin代码包分拆
Dec 04 #Javascript
React Native中Mobx的使用方法详解
Dec 04 #Javascript
element ui table(表格)实现点击一行展开功能
Dec 04 #Javascript
elementUI中Table表格问题的解决方法
Dec 04 #Javascript
zepto.js 实时监听输入框的方法
Dec 04 #Javascript
vue 之 css module的使用方法
Dec 04 #Javascript
Vue源码解析之数组变异的实现
Dec 04 #Javascript
You might like
PHP和Mysql中转UTF8编码问题汇总
2015/10/10 PHP
PHP读取zip文件的方法示例
2016/11/17 PHP
PHP+iframe图片上传实现即时刷新效果
2016/11/18 PHP
php each 返回数组中当前的键值对并将数组指针向前移动一步实例
2016/11/22 PHP
PHP实现字符串翻转功能的方法【递归与循环算法】
2017/11/03 PHP
jquery动画3.创建一个带遮罩效果的图片走廊
2012/08/24 Javascript
关于jQuery $.isNumeric vs. $.isNaN vs. isNaN
2013/04/15 Javascript
Event altKey,ctrlKey,shiftKey属性解析
2013/12/18 Javascript
node.js中的http.response.getHeader方法使用说明
2014/12/14 Javascript
JQuery分屏指示器图片轮换效果实例
2015/05/21 Javascript
JavaScript检测并限制复选框选中个数的方法
2015/08/12 Javascript
详解JavaScript对Date对象的操作问题(生成一个倒数7天的数组)
2015/10/01 Javascript
新入门node.js必须要知道的概念(必看篇)
2016/08/10 Javascript
深入浅出ES6之let和const命令
2016/08/25 Javascript
easyUI实现类似搜索框关键词自动提示功能示例代码
2016/12/27 Javascript
微信小程序实现动态改变view标签宽度和高度的方法【附demo源码下载】
2017/12/05 Javascript
JS实现点击复选框变更DIV显示状态的示例代码
2017/12/18 Javascript
webstorm和.vue中es6语法报错的解决方法
2018/05/08 Javascript
vue-cli项目中使用公用的提示弹层tips或加载loading组件实例详解
2018/05/28 Javascript
vue.js提交按钮时进行简单的if判断表达式详解
2018/08/08 Javascript
Vue 组件封装 并使用 NPM 发布的教程
2018/09/30 Javascript
vue使用swiper实现左右滑动切换图片
2020/10/16 Javascript
JavaScript canvas实现雨滴特效
2021/01/10 Javascript
浅谈编码,解码,乱码的问题
2016/12/30 Python
儿童学习python的一些小技巧
2018/05/27 Python
PyQt Qt Designer工具的布局管理详解
2019/08/07 Python
英国时尚高尔夫服装购物网站:Trendy Golf
2020/01/10 全球购物
如何为DataGridView添加一个定制的Column Type
2014/01/21 面试题
laravel使用redis队列实例讲解
2021/03/23 PHP
公司委托书范本
2014/04/04 职场文书
领导干部群众路线对照检查材料
2014/11/05 职场文书
2015年城管个人工作总结范文
2015/04/20 职场文书
特种设备安全管理制度
2015/08/06 职场文书
2016大学生就业指导课心得体会
2016/01/15 职场文书
上个世纪50年代的可穿戴技术:无线电帽子
2022/02/18 无线电
HTML实现仿Windows桌面主题特效的实现
2022/06/28 HTML / CSS