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

vue輪詢請(qǐng)求解決方案的完整實(shí)例

 更新時(shí)間:2021年07月01日 10:36:06   作者:無知散人  
項(xiàng)目開發(fā)中需要做一個(gè)輪詢,所以將實(shí)現(xiàn)的過程記錄了一下,下面這篇文章主要給大家介紹了關(guān)于vue輪詢解決方案的相關(guān)資料,需要的朋友可以參考下

輪詢的理解

其實(shí)輪詢的重點(diǎn)在于間隔多少時(shí)間執(zhí)行一次,而并非循環(huán)本身。ajax是異步請(qǐng)求,從發(fā)起請(qǐng)求到接受到響應(yīng)即為一個(gè)完整的過程,這個(gè)過程所需要的時(shí)間是無法預(yù)料的,說的極端點(diǎn),若請(qǐng)求所需的時(shí)間超過了我們輪詢的間隔時(shí)間,那么是會(huì)出現(xiàn)很多問題的,所以輪詢的間隔應(yīng)該是在確保這個(gè)請(qǐng)求過程完成的基礎(chǔ)之上的,這也更符合邏輯。

業(yè)務(wù)描述:

  1. 頁面初始化顯示第一頁數(shù)據(jù),隨后每隔十秒當(dāng)前頁數(shù)據(jù)刷新
  2. 更改篩選條件或者更改頁碼直接刷新數(shù)據(jù),隨后每個(gè)十秒當(dāng)前也數(shù)據(jù)刷新

業(yè)務(wù)邏輯點(diǎn)分析:

  1. 手動(dòng)調(diào)用時(shí),立即執(zhí)行發(fā)起請(qǐng)求
  2. 隨后每隔十秒執(zhí)行一次,刷新一次列表

實(shí)現(xiàn)思路

  1. 直接先調(diào)用請(qǐng)求
  2. 在請(qǐng)求的成功回調(diào)函數(shù)中設(shè)置定時(shí)器setTimeout
  3. 在定時(shí)器內(nèi)重復(fù)1.2操作
  4. 將1.2.3步驟封裝為遞歸函數(shù)
// 輪詢方法
    polling (page) {
      this.getWorks(page).then(res => {
        this.pollingST = setTimeout(() => {
          clearTimeout(this.pollingST)
          this.polling(page)
        }, 10000)
      })
    }

為什么不采用setInterval

setInterval的功能看似是完美符合輪詢的概念,若我們的操作是同步代碼,那么使用setInterval是沒有任何問題的,問題就出在setInterval不夠靈活,我們無法得知上一次請(qǐng)求是否已經(jīng)完畢。所以setTimeout會(huì)更好一些。

需要注意的地方

在輪詢中我將定時(shí)器用pollingST變量記錄了下來,每次執(zhí)行前必須先清除上一個(gè)定時(shí)器,因?yàn)檫f歸的調(diào)用是在定時(shí)器內(nèi)部,所以通過清除定時(shí)器就能很方便的結(jié)束輪詢

完整偽代碼

<script>
export default {
  data () {
    return {
      pollingST: null
    }
  },
  methods: {
    // 分頁change事件
    pageChange (params) {
      // 清除現(xiàn)有定時(shí)器
      clearTimeout(this.pollingST)
      // 調(diào)用輪詢
      this.polling(params)
    },
    // 請(qǐng)求接口方法
    getWorks () {
      return new Promise(resolve => resolve({}))
    },
    // 輪詢方法
    polling (params) {
      this.getWorks(params).then(res => {
        this.pollingST = setTimeout(() => {
          clearTimeout(this.pollingST)
          this.polling(params)
        }, 10000)
      })
    }
  },
  created () {
    // 調(diào)用輪詢
    this.polling({ page: 1, pageSize: 5 })
  },
  destroyed () {
    clearTimeout(this.pollingST)
  }
}
</script>

總結(jié)

到此這篇關(guān)于vue輪詢解決方案的文章就介紹到這了,更多相關(guān)vue輪詢解決內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 使用vue.js制作分頁組件

    使用vue.js制作分頁組件

    本文給大家分享的是個(gè)人在使用vue.js制作的文章和評(píng)論的分頁組件,并使用webpack打包起來,這里推薦給大家,有需要的小伙伴可以參考下
    2016-06-06
  • 詳解Vue適時(shí)清理keepalive緩存方案

    詳解Vue適時(shí)清理keepalive緩存方案

    說到Vue緩存,我們肯定首先選擇官方提供的緩存方案keep-alive,本文主要介紹了詳解Vue適時(shí)清理keepalive緩存方案,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • vue3自定義確認(rèn)密碼匹配驗(yàn)證規(guī)則的操作代碼

    vue3自定義確認(rèn)密碼匹配驗(yàn)證規(guī)則的操作代碼

    這篇文章主要介紹了vue3自定義確認(rèn)密碼匹配驗(yàn)證規(guī)則的操作代碼,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2024-01-01
  • vue組件中props與data的結(jié)合使用方式

    vue組件中props與data的結(jié)合使用方式

    這篇文章主要介紹了vue組件中props與data的結(jié)合使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • vue+axios+mock.js環(huán)境搭建的方法步驟

    vue+axios+mock.js環(huán)境搭建的方法步驟

    本篇文章主要介紹了vue+axios+mock.js環(huán)境搭建的方法步驟,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-08-08
  • vuejs使用FormData實(shí)現(xiàn)ajax上傳圖片文件

    vuejs使用FormData實(shí)現(xiàn)ajax上傳圖片文件

    本篇文章主要介紹了vuejs使用FormData實(shí)現(xiàn)ajax上傳圖片文件,具有一定的參考價(jià)值,有興趣的可以了解一下
    2017-08-08
  • vue+django實(shí)現(xiàn)一對(duì)一聊天功能的實(shí)例代碼

    vue+django實(shí)現(xiàn)一對(duì)一聊天功能的實(shí)例代碼

    這篇文章主要介紹了vue+django實(shí)現(xiàn)一對(duì)一聊天功能,主要是通過websocket,由于Django不支持websocket,所以我使用了django-channels。,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2019-07-07
  • 詳解Vue的ref特性的使用

    詳解Vue的ref特性的使用

    這篇文章主要介紹了詳解Vue的ref特性的使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • vue-quill-editor的使用及個(gè)性化定制操作

    vue-quill-editor的使用及個(gè)性化定制操作

    這篇文章主要介紹了vue-quill-editor的使用及個(gè)性化定制操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • Vue表單之v-model綁定下拉列表功能

    Vue表單之v-model綁定下拉列表功能

    這篇文章主要介紹了Vue表單之v-model綁定下拉列表功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-05-05

最新評(píng)論