亚洲av无码乱码国产一区二区,午夜理论片yy44880影院,午夜久久久久久禁播电影,熟睡人妻被讨厌的公侵犯

11
2025/07

VUE中重要的定時(shí)器寫法--輪詢

發(fā)布時(shí)間:2025-07-11 16:03:14
發(fā)布者:dzw
瀏覽量:
0

最近修改的項(xiàng)目中,有一個(gè)ai的內(nèi)容,大致就是傳遞id給后端,前端不斷地詢問這個(gè)接口直到返回正確的結(jié)果的過程。這個(gè)過程中就會使用到定時(shí)器setTimeout。

在vue中寫定時(shí)器,一定要放到date里,使用thisxxx把setTimeout賦值給某個(gè)全局變量,為什么需要這樣做,我們后面說。

為了方便和節(jié)省瀏覽器性能,首先需要設(shè)置最大輪詢次數(shù)和輪詢時(shí)間,直接var即可。

image

然后我們創(chuàng)建一個(gè)簡單的箭頭函數(shù)(也是為了確保能訪問到this),箭頭函數(shù)中每次訪問都需要使一個(gè)變量增加,然后判斷是否大于設(shè)定的輪詢最大次數(shù),大于則return掉。

image

接下來是一個(gè)請求,我們要根據(jù)后端設(shè)置的內(nèi)容,判斷是否滿足我們的要求。大家可以看一下我下邊的判斷,首先判斷接口是否是正常通信的,如果是200,則會返回res,如果是錯(cuò)誤,則會返回err并彈出錯(cuò)誤原因并停止定時(shí)器。如果返回res后,后端的狀態(tài)返回2000并且狀態(tài)為completed完成則把a(bǔ)i返回的內(nèi)容賦值,并且清除定時(shí)器,如果不是2000,則判斷是否有報(bào)錯(cuò),沒有報(bào)錯(cuò)則繼續(xù)輪詢。這里最重要的點(diǎn)就是重新給this.pollTimer賦值,重新賦值后,根據(jù)我們設(shè)定的輪詢間隔時(shí)間,時(shí)間到達(dá)后會再次請求我們設(shè)置的箭頭函數(shù),直到狀態(tài)為completed為止。

image

我們之前說的,為什么一定要把定時(shí)器賦值給變量,因?yàn)槎〞r(shí)器一定要清除,不光是在本頁面清除,當(dāng)該路由頁面卸載的時(shí)候,也需要清除,避免跳轉(zhuǎn)到其他頁面后,這個(gè)定時(shí)器還一直請求接口。

image

了解更多vue知識點(diǎn)擊這里。

上一篇: vant自定義滑塊加頂部加氣泡
下一篇: 沒有了
關(guān)鍵詞:
返回列表