获取 Pusher 频道的最新事件
Get latest event of Pusher channel
我有一个实时仪表板,可以显示电子竞技比赛的数据。数据通过通道 csgo
上的推送器进入,事件名称为 match-data-csgo
.
在有新事件时接收数据没有问题,但我正在寻找一种方法来获取最后一个事件的值。他们在事件中传递了一个 json 作为值,从这个 json 我可以用内容填充我的页面。
我正在使用 Laravel 和 Laravel Echo 和 LiveWire。这是用于检测新事件的代码:
window.addEventListener('DOMContentLoaded', function () {
Echo.channel('csgo')
.listen('.match-data-csgo', (e) => {
window.livewire.emit('newCsgoData', e)
});
})
通过将 (e) 发送到 livewire 中的 newCsgoData 函数,我可以处理所有数据。
我需要 pusher 的最后一个事件的 json 值,这样我就可以在页面上预加载它,因为现在只要 pushere 没有收到新事件,页面就是空白的。
Pusher 不存储任何事件或事件数据,因此您需要将事件数据存储在服务器上并在页面加载时检索这些数据。有几种常见的方法可以实现这一点,例如在页面加载时发送一个 JSON 文件,其中包含最近的事件,或者在您的服务器上公开一个端点,将最新的事件发送给请求者,允许客户端在加载期间请求填充数据。
我有一个实时仪表板,可以显示电子竞技比赛的数据。数据通过通道 csgo
上的推送器进入,事件名称为 match-data-csgo
.
在有新事件时接收数据没有问题,但我正在寻找一种方法来获取最后一个事件的值。他们在事件中传递了一个 json 作为值,从这个 json 我可以用内容填充我的页面。
我正在使用 Laravel 和 Laravel Echo 和 LiveWire。这是用于检测新事件的代码:
window.addEventListener('DOMContentLoaded', function () {
Echo.channel('csgo')
.listen('.match-data-csgo', (e) => {
window.livewire.emit('newCsgoData', e)
});
})
通过将 (e) 发送到 livewire 中的 newCsgoData 函数,我可以处理所有数据。
我需要 pusher 的最后一个事件的 json 值,这样我就可以在页面上预加载它,因为现在只要 pushere 没有收到新事件,页面就是空白的。
Pusher 不存储任何事件或事件数据,因此您需要将事件数据存储在服务器上并在页面加载时检索这些数据。有几种常见的方法可以实现这一点,例如在页面加载时发送一个 JSON 文件,其中包含最近的事件,或者在您的服务器上公开一个端点,将最新的事件发送给请求者,允许客户端在加载期间请求填充数据。