【Laravel實戰】10分鐘搞懂Livewire的Polling
                
            Livewire 提供了一個語句叫做 wire:poll ,當你把他加入某個元素,它將會每2秒重新渲染組件,透過 Polling 來觸發 Ajax 改動是一個輕量級的解決方案,這是相對於其他的解決方案像是 Laravel Echo . Pusher 或任何一個 WebSocket 技術來說
我們來看一個例子,你看該有多簡單
<div wire:poll>
    當前時間: {{ now() }}
</div>
你能夠加入修飾子來修改更新頻率,比如 750 微秒,請看下面的例子:
<div wire:poll.750ms>
    當前時間: {{ now() }}
</div>
如果你希望的是每隔一段時間呼叫某個行動而不是更新組件的話,你可以透過傳方法名稱給 wire:poll 來達到
<div wire:poll="foo">
    當前時間: {{ now() }}
</div>
現在,組件內的 foo() 將會在每2秒鐘被呼叫一次
在背景進行 Polling (Polling in the background)
當應用所在的瀏覽器分頁位於背景時, Livewire 將會減少 polling ,目的是減少對伺服器所進行的不必要 AJAX 請求。只有原先5%的 polling 請求會被保留
但假如你希望能夠保有相同的 polling 頻率即便是在背景的狀況下,你能夠使用 keep-alive 修飾子
<div wire:poll.keep-alive>
    Current time: {{ now() }}
</div>