国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

Vue+WebSocket頁面實時刷新長連接的實現

瀏覽:112日期:2022-09-28 17:33:50

最近vue項目要做數據實時刷新,折線圖每秒重畫一次,數據每0.5秒刷新一次,說白了就是實時刷新,因為數據量較大,用定時器估計頁面停留一會就會卡死。。。

與后臺人員討論過后決定使用h5新增的WebSocket來實現數據實時展示,記錄一下過程以及碰到的問題;

注意:頁面刷新長連接會被關閉,其實進入當前頁面建立長連接的目的就是頁面不用F5刷新,所有數據自動實時刷新,如果還是來回F5大刷頁面那就沒有意義了。。。

ps: 如果實在有這個需求的話,網上貌似有實現刷新頁面長連接不斷的方法,請自行百度。。。。

<template> <div> </div></template><script> export default {data() { return {websock: null, }},created(){ //頁面剛進入時開啟長連接 this.initWebSocket() },destroyed: function() {//頁面銷毀時關閉長連接this.websocketclose();},methods: { initWebSocket(){ //初始化weosocket  const wsuri = process.env.WS_API + '/websocket/threadsocket';//ws地址this.websock = new WebSocket(wsuri); this.websocket.onopen = this.websocketonopen;this.websocket.onerror = this.websocketonerror;this.websock.onmessage = this.websocketonmessage; this.websock.onclose = this.websocketclose; }, websocketonopen() {console.log('WebSocket連接成功');},websocketonerror(e) { //錯誤 console.log('WebSocket連接發生錯誤');},websocketonmessage(e){ //數據接收 const redata = JSON.parse(e.data); //注意:長連接我們是后臺直接1秒推送一條數據, //但是點擊某個列表時,會發送給后臺一個標識,后臺根據此標識返回相對應的數據, //這個時候數據就只能從一個出口出,所以讓后臺加了一個鍵,例如鍵為1時,是每隔1秒推送的數據,為2時是發送標識后再推送的數據,以作區分console.log(redata.value); }, websocketsend(agentData){//數據發送 this.websock.send(agentData); },   websocketclose(e){ //關閉 console.log('connection closed (' + e.code + ')');  }, }, } </script>

到此這篇關于Vue+WebSocket頁面實時刷新長連接的實現的文章就介紹到這了,更多相關Vue+WebSocket實時刷新長連接內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Vue
相關文章:
主站蜘蛛池模板: 沈丘县| 郴州市| 商都县| 双峰县| 吉安市| 招远市| 中西区| 乌兰县| 布尔津县| 伊宁县| 阿克苏市| 白水县| 达孜县| 庆云县| 青龙| 海丰县| 宜丰县| 天镇县| 天门市| 乐都县| 常州市| 延津县| 田阳县| 天峨县| 龙山县| 慈溪市| 凌源市| 霍州市| 河北省| 子长县| 光山县| 汽车| 西林县| 泌阳县| 铜川市| 西乌珠穆沁旗| 武乡县| 阿荣旗| 汝州市| 怀宁县| 井研县|