【问题标题】:Get latest event of Pusher channel获取 Pusher 频道的最新活动
【发布时间】:2021-08-13 19:15:58
【问题描述】:

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

【问题讨论】:

    标签: javascript laravel pusher laravel-livewire laravel-echo


    【解决方案1】:

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

    【讨论】:

    • 因此,您建议将 JSON 保存为文件或数据库中的值将是预加载数据的最佳选择,直到我从推送器获得新事件并且我的 livewire 组件可以使用里面有新的事件数据?
    猜你喜欢
    • 2017-05-26
    • 2023-04-06
    • 2020-08-17
    • 1970-01-01
    • 1970-01-01
    • 2019-08-10
    • 2016-12-11
    • 2019-11-27
    • 1970-01-01
    相关资源
    最近更新 更多