首页 > 解决方案 > 获取 Pusher 频道的最新活动

问题描述

我有一个实时仪表板,它显示来自电子竞技比赛的数据。数据通过通道推送器进入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 没有收到新事件,页面就是空白的。

标签: javascriptlaravelpusherlaravel-livewirelaravel-echo

解决方案


Pusher 不存储任何事件或事件数据,因此您需要将事件数据存储在服务器上并在页面加载时检索它。有几种常见的方法可以实现这一点,例如在页面加载时发送一个包含最新事件的 JSON 文件,或者在服务器上公开一个端点,将最新事件发送给请求者,允许客户端在加载期间进行请求填充数据。


推荐阅读