vue项目怎样做到每30秒革新1次接口?

迎接关注前端小讴的github,浏览更多原创技术文章

在vue.js项目中,常常须要对数据及时更新——每隔xx秒须要革新一次接口——即须要用到定时器相干道理

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

setInterval(function(){}, milliseconds)——会不断的挪用函数

setTimeout(function(){}, milliseconds)——只实行函数一次

乍看之下,setInterval会相符我们的营业需求,然则也须要注重一些坑,纯真的运用setInterval会致使页面卡死!其缘由与JS引擎线程有关(有兴致的童鞋可自行研讨相干材料),用浅显话说就是setInterval不会消灭定时器行列,每反复实行1次都邑致使定时器叠加,终究卡死你的网页。

然则setTimeout是自带消灭定时器的,因而准确解决方法以下

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

注重:setInterval必需放在外层(在内层会致使页面卡顿直到崩溃),内层合营setTimeout,即可无限次挪用我们的接口啦!

    原文作者:小讴
    原文地址: https://segmentfault.com/a/1190000017246671
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞