vue項目每30秒刷新1次接口的實現(xiàn)方法
在vue.js項目中,經(jīng)常需要對數(shù)據(jù)實時更新——每隔xx秒需要刷新一次接口——即需要用到定時器相關(guān)原理
我們先看一看2種常用定時器:
setInterval(function(){}, milliseconds)——會不停的調(diào)用函數(shù)
setTimeout(function(){}, milliseconds)——只執(zhí)行函數(shù)一次
乍看之下,setInterval會符合我們的業(yè)務(wù)需求,然而也需要注意一些坑,單純的使用setInterval會導(dǎo)致頁面卡死!其原因與JS引擎線程有關(guān)(有興趣的童鞋可自行研究相關(guān)資料),用通俗話說就是setInterval不會清除定時器隊列,每重復(fù)執(zhí)行1次都會導(dǎo)致定時器疊加,最終卡死你的網(wǎng)頁。
但是setTimeout是自帶清除定時器的,因此正確解決方法如下:
window.setInterval(() => {
setTimeout(fun, 0)
}, 30000)
注意:setInterval必須放在外層(在內(nèi)層會導(dǎo)致頁面卡頓直到崩潰),內(nèi)層配合setTimeout,即可無限次調(diào)用我們的接口啦!
總結(jié)
以上所述是小編給大家介紹的vue項目每30秒刷新1次接口的實現(xiàn)方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
在 Vue 應(yīng)用中使用 Netlify 表單功能的方法詳解
Netlify 帶有內(nèi)置表單處理功能,可以用來存儲表單數(shù)據(jù),下載 csv 文件,同時可以在接收到新的提交時發(fā)送郵件通知或者通過配置 webhook 發(fā)送請求。這篇文章主要介紹了在 Vue 應(yīng)用中使用 Netlify 表單功能,需要的朋友可以參考下2019-06-06
vue前端和Django后端如何查詢一定時間段內(nèi)的數(shù)據(jù)
這篇文章主要給大家介紹了關(guān)于vue前端和Django后端如何查詢一定時間段內(nèi)的數(shù)據(jù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02
在axios中使用params傳參的時候傳入數(shù)組的方法
今天小編就為大家分享一篇在axios中使用params傳參的時候傳入數(shù)組的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-09-09
關(guān)于vue二進(jìn)制轉(zhuǎn)圖片顯示問題 后端返回的是byte[]數(shù)組
這篇文章主要介紹了關(guān)于vue二進(jìn)制轉(zhuǎn)圖片顯示問題 后端返回的是byte[]數(shù)組,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-06-06

