利用奇偶數來獲取websocket推送時間間隔(或者比較前一個數和下一個數的變化)
在vue中的
data () {
return {
countTime: 0,
newDataTime: null,
dataTime: null,
timestamp: null, // 當前時間戳和下一次推送時間戳差
}
}
methods: {
/**
* websocket返回信息回調
*/
wsMessage (data) { // websocket主動推送數據一次就記錄一下時間
// 時間戳差
this.countTime++
if (this.compareIdNum % 2 === 0) { // 偶數執行 // if (this.countTime >= 2)
this.newDataTime = Date.parse(new Date())
this.timestamp = this.newDataTime - this.dataTime
this.countTime = 0 // 重置一下判斷數字
} else { // 奇數執行,執行一次深拷貝一下
this.dataTime = Date.parse(new Date())
}
console.log('當前時間戳',this.timestamp);
}
}
此方法很容易理解,只是一個比較前后變化的差異的思路,不僅僅只是在websocket中適用,其它場景也可以嘗試,更好的思路期待交流分享。