欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

解決js中的setInterval清空定時(shí)器不管用問題

 更新時(shí)間:2020年11月17日 17:27:20   作者:海闊天空BM  
這篇文章主要介紹了解決js中的setInterval清空定時(shí)器不管用問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧

使用場景:我在函數(shù)A中調(diào)用定時(shí)器函數(shù),定時(shí)器是單獨(dú)寫的一個(gè)函數(shù)

原因:頁面加載時(shí)我調(diào)用了1次函數(shù)A,然后又單獨(dú)調(diào)用了一次定時(shí)器函數(shù),導(dǎo)致調(diào)用了2次setInterval(),導(dǎo)致有setInterval_id有2個(gè)值。

通過打印定時(shí)器的值發(fā)現(xiàn)的問題。

clearInterval()只關(guān)閉了其中一個(gè)setInterval_id,另一個(gè)setInterval_id還會啟動(dòng)setInterval()。

解決方法:把單獨(dú)調(diào)用的定時(shí)器函數(shù)去掉。

補(bǔ)充知識:js vue中setTimeout無法通過clearTimeout清除問題

在異步清除中,利用vue 中data存放setTimeout的標(biāo)識進(jìn)行清除時(shí),無法清除。則需要在函數(shù)前加上window.即可

如window.setTimeout與window.clearTimeout

具體代碼如下

精簡后的代碼。

環(huán)境為electron-vue 渲染進(jìn)程異步獲取主進(jìn)程上html并渲染到頁面、過程中需要有l(wèi)oading的顯示。

setTimeout 與clearTimeout 未加window時(shí),this.timeOutLoading事件總會被觸發(fā)。

<template>
<div id="dev">
    <el-tabs v-model="activeName" @tab-click="handleClick" v-loading="loading">
    <el-tab-pane label="文檔" name="first">
      <div v-html="html"></div>
    </el-tab-pane>
     <el-tab-pane label="設(shè)置" name="second">
      <v-devCard></v-devCard>
    </el-tab-pane>
    </el-tabs>
</div>
</template>

<script>
  const {ipcRenderer:ipc} = require('electron');

export default {

  data(){
    return{
      activeName: 'second',
      html:'',
      loading:false,
      timeOutLoading:0
    }
  },
  methods:{
    handleClick(tab, event) {
    if(tab.name == 'first' && this.loading == false){
      if(this.timeOutLoading != 0){
        window.clearTimeout(this.timeOutLoading);
      }

      this.html = "<div style='text-align:center; height:200px; line-height:200px;'>加載中...</div>";
      this.loading = true;
      this.timeOutLoading = window.setTimeout(() => {
        if(this.loading == true){
          this.loading = false;
          this.html = "<div style='text-align:center; height:200px; line-height:200px;'>加載超時(shí)</div>";
        } 
      }, 3000);

      window.setTimeout(() => {
        ipc.send("getPage");
      }, 500);
       
    }
   }
  },
  mounted(){
    ipc.on('getPage-reply', (event, arg) => {
        if(this.timeOutLoading != 0){
          window.clearTimeout(this.timeOutLoading);
          this.timeOutLoading = 0;
        }      
        this.loading = false;
        this.html = arg; 
      });
  }
}
</script>

以上這篇解決js中的setInterval清空定時(shí)器不管用問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 如何利用Three.js實(shí)現(xiàn)web端顯示點(diǎn)云數(shù)據(jù)

    如何利用Three.js實(shí)現(xiàn)web端顯示點(diǎn)云數(shù)據(jù)

    這篇文章主要給大家介紹了關(guān)于如何利用Three.js實(shí)現(xiàn)web端顯示點(diǎn)云數(shù)據(jù)的相關(guān)資料,最近在項(xiàng)目中遇到需求,需要在web端顯示點(diǎn)云數(shù)據(jù),將我的實(shí)現(xiàn)步驟介紹在這里供大家參考,需要的朋友可以參考下
    2023-11-11
  • JavaScript 中使用 Generator的方法

    JavaScript 中使用 Generator的方法

    Generator 是一種非常強(qiáng)力的語法,但它的使用并不廣泛。這篇文章主要介紹了如何在 JavaScript 中使用 Generator,需要的朋友可以參考下
    2017-12-12
  • layui 關(guān)閉open彈出框 刷新table表格頁面的方法

    layui 關(guān)閉open彈出框 刷新table表格頁面的方法

    今天小編就為大家分享一篇layui 關(guān)閉open彈出框 刷新table表格頁面的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-09-09
  • JavaScript中l(wèi)ayim之整合右鍵菜單的示例代碼

    JavaScript中l(wèi)ayim之整合右鍵菜單的示例代碼

    這篇文章主要介紹了JavaScript中l(wèi)ayim之整合右鍵菜單的示例代碼,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-02-02
  • 微信小程序整個(gè)頁面的自動(dòng)適應(yīng)布局的實(shí)現(xiàn)

    微信小程序整個(gè)頁面的自動(dòng)適應(yīng)布局的實(shí)現(xiàn)

    這篇文章主要介紹了微信小程序整個(gè)頁面的自動(dòng)適應(yīng)布局的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • 微信小程序?qū)崿F(xiàn)炫酷的彈出式菜單特效

    微信小程序?qū)崿F(xiàn)炫酷的彈出式菜單特效

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)炫酷的彈出式菜單特效,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • Bootstrap3學(xué)習(xí)筆記(三)之表格

    Bootstrap3學(xué)習(xí)筆記(三)之表格

    這篇文章主要介紹了Bootstrap3學(xué)習(xí)筆記(三)之表格的相關(guān)資料,需要的朋友可以參考下
    2016-05-05
  • js轉(zhuǎn)換對象為xml

    js轉(zhuǎn)換對象為xml

    本文主要介紹了js轉(zhuǎn)換對象為xml的方法。具有很好的參考價(jià)值,下面跟著小編一起來看下吧
    2017-02-02
  • JavaScript學(xué)習(xí)筆記之DOM基礎(chǔ)操作實(shí)例小結(jié)

    JavaScript學(xué)習(xí)筆記之DOM基礎(chǔ)操作實(shí)例小結(jié)

    這篇文章主要介紹了JavaScript學(xué)習(xí)筆記之DOM基礎(chǔ)操作,結(jié)合實(shí)例形式總結(jié)分析了javascript針對dom元素節(jié)點(diǎn)、屬性的相關(guān)獲取、設(shè)置等操作技巧,需要的朋友可以參考下
    2019-01-01
  • 深入淺析javascript函數(shù)中with

    深入淺析javascript函數(shù)中with

    這篇文章主要介紹了javascript函數(shù)中with,with函數(shù)方便用來引用某個(gè)對象中已有的屬性,但是不能用來給對象添加屬性,要給對象創(chuàng)建新的屬性,下面通過代碼給大家講解,需要的朋友可以參考下
    2018-10-10

最新評論