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);
                });
Другие вопросы по тегам