io.socket.off()
解除綁定指定的事件處理器(與 .on()
相反)。
io.socket.off(eventIdentity, handlerFn);
此方法在此是為了完整性,但大多數應用程式應該不需要使用它。 請參閱下方以取得更多資訊。
參數 | 類型 | 詳細資訊 | |
---|---|---|---|
1 | eventIdentity | 與伺服器發送的訊息相關聯的唯一事件識別碼,例如 "recipe"。 | |
2 | handlerFn | 要從指定事件解除綁定的事件處理函式。 |
- 如果您決定使用此方法,請務必小心!
io.socket.off()
不會 停止此用戶端 socket 接收任何伺服器發送的訊息,它只會阻止指定的事件處理器觸發。 通常,期望的效果是防止訊息完全被發送,如果您的伺服器發送的訊息包含私密資料,這點至關重要。 當 socket 中斷連線時,這會自動發生,但也有些較不常見的使用情境,需要在 socket 仍連線時取消訂閱房間。 例如,考慮一個情境,當管理員使用者在查看即時儀表板時被系統禁止,而您的應用程式需要阻止他們接收所有後續的即時更新。 若要強制用戶端 socket 停止接收廣播訊息,請勿使用此方法。 相反地,在您的伺服器端程式碼中取消訂閱 socket
- 如果房間是使用
sails.sockets.join()
加入的,請呼叫sails.sockets.leave()
。- 如果房間是使用資源型 PubSub 方法加入的,請根據情況呼叫
.unsubscribe()
或.unwatch()
。- 為了使用
.off()
,您需要儲存您傳遞給.on()
的handlerFn
參數在變數中。