成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

不要太相信 SetInterval!我被它給坑得好慘!

開發(fā) 前端
我們的的輪詢是通過(guò) setInterval 定時(shí)器去完成的,那么為啥定時(shí)器里的邏輯沒(méi)執(zhí)行呢?通過(guò)向用戶詢問(wèn),我們得知了用戶有很長(zhǎng)一段時(shí)間沒(méi)有去看這個(gè)前端頁(yè)面,并且把這個(gè)頁(yè)面給隱藏了。

最近組員遇到了一個(gè) BUG,我們的需求是這樣的:前端需要通過(guò)輪詢的方式,每隔一段時(shí)間去做一些邏輯處理,并向后端發(fā)送請(qǐng)求上報(bào)。

出現(xiàn)的 BUG 是:后端發(fā)現(xiàn)前端有很長(zhǎng)一段時(shí)間都沒(méi)有向后端發(fā)起上報(bào)請(qǐng)求。

問(wèn)題排查

我們的的輪詢是通過(guò) setInterval 定時(shí)器去完成的,那么為啥定時(shí)器里的邏輯沒(méi)執(zhí)行呢?

通過(guò)向用戶詢問(wèn),我們得知了用戶有很長(zhǎng)一段時(shí)間沒(méi)有去看這個(gè)前端頁(yè)面,并且把這個(gè)頁(yè)面給隱藏了。

在這里我跟大家科普一個(gè)監(jiān)聽事件 visibilitychange,他可以用來(lái)監(jiān)聽當(dāng)前標(biāo)簽頁(yè)頁(yè)面顯隱的切換。

圖片圖片

于是我需要復(fù)現(xiàn)一下這個(gè) BUG ,我簡(jiǎn)單寫了以下的代碼,并且做這些事:

  • 先在頁(yè)面待一會(huì)
  • 隱藏頁(yè)面一段時(shí)間
  • 再顯示頁(yè)面,并查看控制臺(tái)的輸出是否連續(xù)

圖片圖片

我先試著離開很短一段時(shí)間,再回去看,可以發(fā)現(xiàn),控制臺(tái)的輸出還是很連續(xù)的,這說(shuō)明離開很短時(shí)間,基本不會(huì)影響到定時(shí)器執(zhí)行的連續(xù)性。

圖片圖片

第二次我離開了一兩分鐘時(shí)間,可以看到定時(shí)器執(zhí)行的連續(xù)性不正常了,這說(shuō)明了當(dāng)頁(yè)面隱藏的時(shí)候,定時(shí)器的執(zhí)行有點(diǎn)類似于節(jié)流的感覺(jué),從而導(dǎo)致不太連續(xù)。

圖片圖片

定時(shí)器連續(xù)性的保證?

其實(shí)瀏覽器這么做也是有他的道理的,畢竟當(dāng)頁(yè)面隱藏的時(shí)候,說(shuō)明這個(gè)頁(yè)面對(duì)于用戶當(dāng)前來(lái)說(shuō),不太重要了,所以適當(dāng)減少一些代碼邏輯的運(yùn)行,節(jié)省性能,也是無(wú)可厚非的!

但是如果你想一直保證定時(shí)器的連續(xù)性,還是有辦法做到的,可以用到我們的老朋友:Web Worker。

圖片圖片

圖片圖片

現(xiàn)在就能保證定時(shí)器的連續(xù)性執(zhí)行了!

圖片 圖片

責(zé)任編輯:武曉燕 來(lái)源: 前端之神
相關(guān)推薦

2023-10-31 08:01:48

Mybatis參數(shù)jdbcurl?

2024-08-21 15:25:55

2020-07-17 09:58:31

Python開發(fā)工具

2020-03-20 08:00:32

代碼程序員追求

2023-07-17 10:28:00

C/C++編程接口

2013-04-22 09:05:11

程序員

2022-01-26 22:22:38

LinuxLinus TorvGitHub

2015-08-25 15:58:33

編程集錦

2024-11-21 09:55:25

2023-03-02 06:00:00

2024-08-16 16:13:00

2009-03-17 09:03:28

獎(jiǎng)金軟件開發(fā)動(dòng)漫

2022-06-30 05:25:01

蓄電池通信電源

2023-11-13 08:03:53

Next.js命令變量

2010-04-08 09:31:11

安全顧問(wèn)網(wǎng)絡(luò)安全

2017-03-21 23:10:22

2016-10-12 15:27:30

虛擬主機(jī)維護(hù)模式虛擬機(jī)管理器

2015-06-04 11:22:22

前端程序員

2024-03-14 10:30:05

緩存場(chǎng)景DEMO

2021-07-16 07:57:35

SpringBootOpenFeign微服務(wù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 就操在线 | 成人欧美一区二区三区 | 在线观看亚洲 | 99久久精品免费看国产小宝寻花 | 国产精品一区二区在线 | 久久国产成人 | av日韩高清 | 99热在线播放 | 黄色激情毛片 | 一级黄片一级毛片 | 国产美女永久免费无遮挡 | 欧美在线网站 | 欧美日韩一区二区在线 | 国产毛片视频 | 中文字幕免费在线观看 | www.日本在线播放 | 超黄毛片| www.婷婷亚洲基地 | av先锋资源| 亚洲成人午夜电影 | 久久99精品久久久久久狂牛 | 日日操夜夜操天天操 | 亚洲精品无 | 成人综合在线视频 | 成人一区二区三区在线观看 | 成人区精品 | 红桃视频一区二区三区免费 | 久久精品亚洲欧美日韩精品中文字幕 | 日韩伦理电影免费在线观看 | www.久久.com| 国产成人a亚洲精品 | 日韩毛片免费看 | 色综合久久久久 | 国产一区二区三区四区五区加勒比 | 免费黄色av | 黄色毛片网站在线观看 | 欧美区精品| 午夜影院黄| 欧美日韩激情 | 欧美日韩在线播放 | 91视频88av|