.leaveAll()
將房間 (例如 chatroom7
) 的所有成員從該房間以及他們目前訂閱的所有其他房間中取消訂閱,但與其 socket ID 關聯的自動房間除外。
sails.sockets.leaveAll(roomName, cb);
參數 | 類型 | 詳細資訊 | |
---|---|---|---|
1 | roomName | 要撤離的房間。請注意,此房間的成員將被強制離開他們的所有房間,而不僅僅是這一個。 | |
2 | cb | 一個可選的回呼函數,當操作在當前伺服器上完成時(詳情請參閱以下註釋),或遇到嚴重錯誤時,將會被呼叫。如果發生錯誤,它將以單個參數 (err ) 呼叫。 |
在控制器動作中
unsubscribeFunRoomMembersFromEverything: function(req, res) {
sails.sockets.leaveAll('funRoom', function(err) {
if (err) { return res.serverError(err); }
// Unsubscribed all sockets in "funRoom" from "funRoom".
// And... from every other room too.
return res.ok();
});
}
- 在多伺服器環境中,當
.leaveAll()
呼叫在當前伺服器上完成時,將會執行回呼函數 (cb
)。這不保證叢集中的其他伺服器已完成執行操作。