最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue中定時(shí)器setInterval的使用及說(shuō)明

 更新時(shí)間:2023年03月02日 15:02:22   作者:奧特蛋_mm  
這篇文章主要介紹了vue中定時(shí)器setInterval的使用及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

深坑

自己在項(xiàng)目中使用setInterval,由于不正確的使用,竟然導(dǎo)致了瀏覽器崩潰,項(xiàng)目停止,電腦死機(jī)…可怕之極,下面詳細(xì)寫一下關(guān)于定時(shí)器的用法及注意事項(xiàng)

聲明

    mouted() {
    	this.timer = setInterval(()=>{
    	// 要執(zhí)行的函數(shù)
    	})
    }

銷毀

destoryed() {
	this.clearInterval(this.timer)
}

看起來(lái)是很簡(jiǎn)單也沒(méi)有什么,但是坑來(lái)了,實(shí)際項(xiàng)目中使用

在這里插入圖片描述

    addSetInterval() {
      const that = this
      this.positionTimer = setInterval(() => {
        if (that.resultArr.length < that.times) {
          clearInterval(that.positionTimer)
          that.positionTimer = null
          console.log(that.times)
        } else {
          // 分批部署基站
          if (that.times < that.resultArr.length) {
            that.deployBaseStation()
            console.log('渲染數(shù)組的第' + that.times + '項(xiàng)')
          }
          that.times++
        }
        console.log(1111111111111)
      }, 500)
    },

由于這里定義了定時(shí)器,箭頭函數(shù)內(nèi)部和外部的作用域不同了,要定義一個(gè)變量來(lái)使函數(shù)內(nèi)部使用vue數(shù)據(jù)的時(shí)候指向不出錯(cuò),

that 是指vue , this是指定時(shí)器 positionTimer

之前為了確認(rèn)定時(shí)器已經(jīng)停止了,在destory中和定時(shí)器中都輸出了定時(shí)器的值,即 console.log(this.positionTimer),然而,上圖

在這里插入圖片描述

離開當(dāng)前路由,再回到當(dāng)前路由,之后控制臺(tái)打印

在這里插入圖片描述

然后不久之后就是

在這里插入圖片描述

WTF???

在請(qǐng)教了同學(xué)之后,她說(shuō)可能跟我打印定時(shí)器也有關(guān)系,輸出的時(shí)候調(diào)用了定時(shí)器,導(dǎo)致定時(shí)器關(guān)閉失敗,我也是真的無(wú)奈了,一開始也沒(méi)有定義額外的變量來(lái)確定this的指向,具體原因不明,總之,在不輸出定時(shí)器,改加了額外的變量之后,定時(shí)器停止了

最終代碼如下:

  destroyed() {
    clearInterval(this.positionTimer)// 清除定時(shí)器
    this.positionTimer = null
    // 離開路由之后斷開websocket連接
    this.webSocketOnClose()
    this.websocketclose()
  },
  methods: {
    // 添加定時(shí)器
    addSetInterval() {
      const that = this  // 聲明一個(gè)變量指向vue實(shí)例this,保證作用域一致
      this.positionTimer = setInterval(() => {
        if (that.resultArr.length < that.times) {
          clearInterval(that.positionTimer)
          that.positionTimer = null
          console.log(that.times)
        } else {
          // 分批部署基站
          if (that.times < that.resultArr.length) {
            that.deployBaseStation()
            console.log('渲染數(shù)組的第' + that.times + '項(xiàng)')
          }
          that.times++
        }
        console.log(1111111111111)
      }, 500)
    },

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • element-ui動(dòng)態(tài)添加表單項(xiàng)并實(shí)現(xiàn)事件觸發(fā)驗(yàn)證代碼示例

    element-ui動(dòng)態(tài)添加表單項(xiàng)并實(shí)現(xiàn)事件觸發(fā)驗(yàn)證代碼示例

    這篇文章主要給大家介紹了關(guān)于element-ui動(dòng)態(tài)添加表單項(xiàng)并實(shí)現(xiàn)事件觸發(fā)驗(yàn)證的相關(guān)資料,其實(shí)就是利用了vue的v-for循環(huán)渲染,通過(guò)添加數(shù)組實(shí)現(xiàn)動(dòng)態(tài)添加表單項(xiàng),需要的朋友可以參考下
    2023-12-12
  • Vue中axios攔截器如何單獨(dú)配置token

    Vue中axios攔截器如何單獨(dú)配置token

    這篇文章主要介紹了Vue axios攔截器如何單獨(dú)配置token及vue axios攔截器的使用,需要的朋友可以參考下
    2019-12-12
  • vue父子組件slot插槽的使用

    vue父子組件slot插槽的使用

    這篇文章主要介紹了vue父子組件slot插槽的使用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • vue中使用gojs/jointjs的示例代碼

    vue中使用gojs/jointjs的示例代碼

    這篇文章主要介紹了vue中使用gojs/jointjs的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-08-08
  • 詳解Vue的監(jiān)聽屬性

    詳解Vue的監(jiān)聽屬性

    這篇文章主要為大家介紹了Vue的監(jiān)聽屬性,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2021-11-11
  • 使用vue實(shí)現(xiàn)pdf預(yù)覽功能的方法

    使用vue實(shí)現(xiàn)pdf預(yù)覽功能的方法

    許多朋友想要材料上傳之后點(diǎn)擊預(yù)覽實(shí)現(xiàn)在瀏覽器上預(yù)覽的效果,所以本文將給大家介紹如何使用vue實(shí)現(xiàn)pdf預(yù)覽功能,文中有實(shí)現(xiàn)代碼,有需要的朋友可以參考閱讀下
    2023-08-08
  • vue?el-date-picker?日期回顯后無(wú)法改變問(wèn)題解決

    vue?el-date-picker?日期回顯后無(wú)法改變問(wèn)題解決

    這篇文章主要介紹了vue?el-date-picker?日期回顯后無(wú)法改變問(wèn)題解決,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-04-04
  • vue嵌入第三方頁(yè)面幾種常見方法

    vue嵌入第三方頁(yè)面幾種常見方法

    在Vue中嵌入第三方頁(yè)面可以采用多種方法,例如使用<iframe>、Vue插件、動(dòng)態(tài)加載第三方腳本或WebComponents,不同方法適用于不同類型的內(nèi)容和項(xiàng)目需求,如<iframe>適用于整個(gè)網(wǎng)頁(yè),而動(dòng)態(tài)腳本和WebComponents適合特定功能,選擇合適的方法可以有效整合外部資源
    2024-09-09
  • vue路徑寫法之關(guān)于./和@/的區(qū)別

    vue路徑寫法之關(guān)于./和@/的區(qū)別

    這篇文章主要介紹了vue路徑寫法之關(guān)于./和@/的區(qū)別,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • vue2.0 循環(huán)遍歷加載不同圖片的方法

    vue2.0 循環(huán)遍歷加載不同圖片的方法

    下面小編就為大家分享一篇vue2.0 循環(huán)遍歷加載不同圖片的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03

最新評(píng)論

德化县| 开封市| 呼伦贝尔市| 周至县| 景谷| 平乐县| 通州区| 义乌市| 南京市| 依安县| 平谷区| 子洲县| 民权县| 东港市| 阿图什市| 九寨沟县| 清新县| 福建省| 西城区| 博罗县| 兴隆县| 平陆县| 五华县| 曲阳县| 团风县| 即墨市| 澳门| 依安县| 舟曲县| 抚远县| 叙永县| 东乡| 新安县| 比如县| 曲阳县| 宜昌市| 巧家县| 南和县| 苏州市| 华容县| 通山县|