Laravel Echo присоединяется к частному каналу `.here()`
У меня есть присоединение к частному каналу:
Echo.private('chat_room.'+comments_room_id)
.listen('.App.Events.Common.Comment.CommentCreated', function(e) {
e.comment.user = e.user;
e.comment.new_msg = 1;
_this.comment_room.comments.unshift(e.comment);
});
Я хотел бы использовать вызов присутствия.here(), чтобы держать пользователей в курсе того, кто сейчас в сети.
Я попробовал следующее:
Echo.private('chat_room.'+comments_room_id)
.here(users => {
this.users = users;
})
.listen('.App.Events.Common.Comment.CommentCreated', function(e) {
Но это не сработало...
Ошибка в консоли:Echo.private(...).here is not a function
1 ответ
Итак, я обнаружил, что вам нужно также присоединиться к каналу присутствия наряду с частным каналом, чтобы использовать методы here().
Echo.join('chat_room.'+comments_room_id)
.here((users) => {
this.users = users;
})
.joining((user) => {
this.users.push(user)
})
.leaving((person) => {
this.users = _.reject(this.users, user => user.id == person.id);
});