Я создал клиента websocket (wss) для прослушивания сообщений с сокет-сервера. Сообщения отправляются непрерывно с сервера, который зарегистрирован на стороне клиента консоли. Я хотел бы измерить время между этими сообщениями (я знаю, что они появляются каждые 5 секунд, но мне нужно рассчитать время, потому что эти 5 секунд не гарантированы).
Я думал о том, чтобы сохранить время предыдущего сообщения с помощью Date.now () и затем найти время самых последних сообщений, чтобы вычислить разницу во времени, но я не уверен, как это сделать.
socket.onmessage = (event) => {
if (event.data.substr(4, 9) === 'heartbeat') {
console.log(event.data.substr(2)) // logs msg to console
timeHeartbeats(event.data.substr(2), Date.now())
}
}
// I'm not actually keeping track of the time for 2 messages which is the issue
const timeHeartbeats = (json, mostRecent) => {
console.log(Date.now() - mostRecent) // 0 b/c Date.now() is the same as mostRecent (should be ~5000ms if time calc is correct)
}