0
我使用socket.io和express 3來構建應用程序。socket.io啓動並完成事件
我想設置加載器動畫,以便在收到消息時顯示,並在收到消息時將其隱藏。 就像jQuerys .ajaxStart
和.ajaxComplete
在那裏我可以這樣做$('#loader').show();
等
有沒有我可以在socket.io捕捉任何事件來實現這一目標?
我使用socket.io和express 3來構建應用程序。socket.io啓動並完成事件
我想設置加載器動畫,以便在收到消息時顯示,並在收到消息時將其隱藏。 就像jQuerys .ajaxStart
和.ajaxComplete
在那裏我可以這樣做$('#loader').show();
等
有沒有我可以在socket.io捕捉任何事件來實現這一目標?
您可以通過以下思路實現這一點:
about_to_start
事件;about_to_start
啓用加載程序併發出download_ready
事件;download_ready
事件發送數據,即發出download
事件;download
事件處理數據並禁用加載程序;這就是我會這麼做的。
順便說一句:我們在談論簡單的消息系統嗎?在這種情況下,我認爲沒有必要這樣做。下載不會超過幾秒鐘,如果可以的話,則需要優化應用程序或添加一些馬力(即如果流量太大,請添加一些機器)。跳過步驟1,2和步驟3的一半。在步驟4,您只需通知客戶:「嘿,您有一條新消息!」。
是的,但有沒有辦法做到這一點全球?所以我不必在每個發射事件上設置它? – georgesamper
這是一個通知系統,一個聊天和很多,所以它將是很好的設置在一個地方。 – georgesamper
@George唯一的可能性是將一些自定義方法添加到您的應用程序。並且'download_ready'事件可以設置一次。您甚至可以將該方法添加到'var socket = require('socket.io');'對象。但要小心,因爲將來它可能會發生衝突(假設你想升級'socket.io'庫)。 – freakish