国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

webSocket推送太快導(dǎo)致前端渲染卡頓問(wèn)題優(yōu)化

這篇具有很好參考價(jià)值的文章主要介紹了webSocket推送太快導(dǎo)致前端渲染卡頓問(wèn)題優(yōu)化。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

優(yōu)化思路:
把webSocket接收到的數(shù)據(jù)用一個(gè)數(shù)組存起來(lái),達(dá)到一定長(zhǎng)度再統(tǒng)一渲染,可根據(jù)推送數(shù)據(jù)的速度適當(dāng)調(diào)解數(shù)組長(zhǎng)度限制,如果一段時(shí)間內(nèi)改數(shù)組長(zhǎng)度打不要渲染條件,就用定時(shí)器之間渲染文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-768271.html

data() {
  return {
    tempDataWsList: [], // 存放臨時(shí)ws數(shù)據(jù)數(shù)組
    list: [], // 頁(yè)面上的列表
    listCopy: [], // 深拷貝的初始化列表數(shù)據(jù),用于統(tǒng)一渲染
  }
}
methods: {
  ...
  // websocket接收數(shù)據(jù)的方法
  onMessage(data) {
    if (data.data) {
      // 將Json字符串轉(zhuǎn)譯
      const dataWs = JSON.parse(data.data);
      // 將轉(zhuǎn)譯后的數(shù)據(jù)推入臨時(shí)ws數(shù)據(jù)數(shù)組中
      this.tempDataWsList.push(dataWs);
      // 有ws數(shù)據(jù)就關(guān)閉定時(shí)器
      clearTimeout(this.wsTimeout);
      // 做緩存渲染,將ws接收到的數(shù)據(jù)放到數(shù)組,滿(mǎn)10個(gè)就統(tǒng)一渲染
      if (this.tempDataWsList.length == 10) {
        this.handleList();
      } else {
        // 如果最后一個(gè)接收后1秒鐘內(nèi)不能滿(mǎn)足10個(gè),則直接渲染
        this.wsTimeout = setTimeout(() => {
          this.handleList();
        }, 1000);
      }
    }
  },
 
  // 操作數(shù)據(jù)渲染
  handleList() {
    // 循環(huán)臨時(shí)ws數(shù)據(jù)數(shù)組
    this.tempDataWsList.forEach(temp => {
      // 循環(huán)深拷貝的初始化列表數(shù)據(jù)
      this.listCopy.forEach(item => {
        // 循環(huán)判斷列表對(duì)應(yīng)ws數(shù)據(jù)id,修改深拷貝列表上的值
        item.pointDetails.forEach(item1 => {
          if (item1.id == temp.detailsId) {
            item1.value = temp.realVal;
          }
        });
      });
    });
    // 清空臨時(shí)ws數(shù)據(jù)數(shù)組
    this.tempDataWsList = [];
    // 將修改的列表數(shù)據(jù)賦值給頁(yè)面渲染
    this.list = this.listCopy;
  }
}

到了這里,關(guān)于webSocket推送太快導(dǎo)致前端渲染卡頓問(wèn)題優(yōu)化的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • websockets-后端主動(dòng)向前端推送消息

    websockets-后端主動(dòng)向前端推送消息

    公司領(lǐng)導(dǎo)提出了一個(gè)新的需求,那就是部門(mén)主管在有審批消息的情況下,需要看到提示消息。其實(shí)這種需求最簡(jiǎn)單的方法使接入短信、郵件、公眾號(hào)平臺(tái)。直接推送消息。但是,由于使自研項(xiàng)目,公司領(lǐng)導(dǎo)不想花錢(qián),只能另辟蹊徑。 WebSocket協(xié)議是基于TCP的一種新的網(wǎng)絡(luò)協(xié)議。

    2024年02月09日
    瀏覽(22)
  • 三分鐘解決AE緩存預(yù)覽渲染錯(cuò)誤、暫停、卡頓問(wèn)題

    三分鐘解決AE緩存預(yù)覽渲染錯(cuò)誤、暫停、卡頓問(wèn)題

    你應(yīng)該做的第一件事是清除你的RAM。這將清除當(dāng)前存儲(chǔ)在內(nèi)存中的所有臨時(shí)緩存文件。要執(zhí)行此操作,請(qǐng)導(dǎo)航到編輯清除所有內(nèi)存。這將從頭開(kāi)始重置RAM緩存 您也可以嘗試清空磁盤(pán)緩存。執(zhí)行此操作的最快方法是導(dǎo)航到“編輯”“清除”“所有內(nèi)存和磁盤(pán)緩存”。這(顯然)

    2024年02月11日
    瀏覽(20)
  • websocket實(shí)時(shí)推送統(tǒng)計(jì)數(shù)據(jù)給前端頁(yè)面

    websocket實(shí)時(shí)推送統(tǒng)計(jì)數(shù)據(jù)給前端頁(yè)面

    前提須知:websocket基本使用 業(yè)務(wù)場(chǎng)景,每秒推送統(tǒng)計(jì)數(shù)據(jù)給前端頁(yè)面,分別顯示前天,昨天,今天的前十名客戶(hù)數(shù)據(jù) @ServerEndpoint(\\\"/smsMCustomerStaTop10Ws\\\") 定義推送數(shù)據(jù)給到具體的連接標(biāo)識(shí) 以上 onOpen() 方法最終觸發(fā)的業(yè)務(wù)方法 smsMonitorService.pushSmsMCustomerStaTop10(); 以上 smsMonitorMapper.findSm

    2024年02月15日
    瀏覽(19)
  • 前端訂閱后端推送WebSocket定時(shí)任務(wù)

    前端訂閱后端推送WebSocket定時(shí)任務(wù)

    ? ? ? ? 后端定時(shí)向前端看板推送數(shù)據(jù),每10秒或者30秒推送一次。 ????????HTTP協(xié)議是一個(gè)應(yīng)用層協(xié)議,它的特點(diǎn)是無(wú)狀態(tài)、無(wú)連接和單向的。在HTTP協(xié)議中,客戶(hù)端發(fā)起請(qǐng)求,服務(wù)器則對(duì)請(qǐng)求進(jìn)行響應(yīng)。這種請(qǐng)求-響應(yīng)的模式意味著服務(wù)器無(wú)法主動(dòng)向客戶(hù)端發(fā)送消息。 ??

    2024年04月25日
    瀏覽(21)
  • SpringBoot集成WebSocket,實(shí)現(xiàn)后臺(tái)向前端推送信息

    SpringBoot集成WebSocket,實(shí)現(xiàn)后臺(tái)向前端推送信息

    在一次項(xiàng)目開(kāi)發(fā)中,使用到了Netty網(wǎng)絡(luò)應(yīng)用框架,以及MQTT進(jìn)行消息數(shù)據(jù)的收發(fā),這其中需要后臺(tái)來(lái)將獲取到的消息主動(dòng)推送給前端,于是就使用到了MQTT,特此記錄一下。 WebSocket協(xié)議是基于TCP的一種新的網(wǎng)絡(luò)協(xié)議。它實(shí)現(xiàn)了客戶(hù)端與服務(wù)器全雙工通信,學(xué)過(guò)計(jì)算機(jī)網(wǎng)絡(luò)都知道

    2024年01月16日
    瀏覽(18)
  • Springboot整合WebSocket實(shí)現(xiàn)主動(dòng)向前端推送消息

    Springboot整合WebSocket實(shí)現(xiàn)主動(dòng)向前端推送消息

    ? ? ? ? 在上篇文章tcp編程中,我們實(shí)現(xiàn)了C++客戶(hù)端與java服務(wù)器之間的通信,客戶(hù)端發(fā)送了一個(gè)消息給服務(wù)器,今天我們要實(shí)現(xiàn)基于WebSocket實(shí)現(xiàn)服務(wù)器主動(dòng)向前端推送消息,并且以服務(wù)器接收到C++客戶(hù)端的消息主動(dòng)向前端推送消息的觸發(fā)條件。 WebSocket 的誕生背景 ??????

    2024年03月16日
    瀏覽(23)
  • kafak消費(fèi)數(shù)據(jù),webSocket實(shí)時(shí)推送數(shù)據(jù)到前端
  • 解決element ui大數(shù)據(jù)渲染表格時(shí)嚴(yán)重卡頓的問(wèn)題

    element ui中的table表格組件在大量數(shù)據(jù)渲染的時(shí)候渲染會(huì)出現(xiàn)嚴(yán)重的卡頓問(wèn)題,雖然網(wǎng)上也有很多解決方案,比如什么延遲加載,虛擬加載等等,這里為了避免走彎路,直接上終極解決方案大招:趁早換組件、馬上換組件、現(xiàn)在就去換組件?。。?推薦組件:umy-ui 官方文檔:u

    2024年03月17日
    瀏覽(30)
  • 【Android】主線程切換播放視頻時(shí),調(diào)用http請(qǐng)求,導(dǎo)致頁(yè)面卡頓問(wèn)題

    業(yè)務(wù)場(chǎng)景:當(dāng)我們?cè)谇袚Q視頻播放的途中,后臺(tái)去調(diào)用http請(qǐng)求,就導(dǎo)致了主線程被阻塞,頁(yè)面卡頓的現(xiàn)象,嘗試出來(lái)的解決方式是開(kāi)啟一個(gè)后臺(tái)線程去加載視頻,然后在主線程中更新UI 這段代碼是一個(gè)私有內(nèi)部類(lèi) LoadVideoTask ,繼承自 AsyncTask ,用于在后臺(tái)線程中加載視頻并在主線程中

    2024年02月16日
    瀏覽(28)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包