Методы Laravel Echo joining() и leaving() не запускаются

Вот мой конфиг Echo:

window.Echo = new Echo({
    authEndpoint: process.env.VUE_APP_API_ENDPOINT.replace('/v1', '/broadcasting/auth'),
    broadcaster: 'pusher',
    key: 'someKey',
    wsHost: window.location.hostname,
    wsPort: 6001,
    disableStats: true
});

window.Echo.connector.pusher.config.auth.headers['Authorization'] = 'Bearer ' + token;

В хуке mount () моего компонента vue я имею:

window.Echo.join(`test.1`)

    .here((users) => {
        console.log(users);
    })
    .joining((user) => {
        console.log(user.name);
    })
    .leaving((user) => {
        console.log('Leaving');
    });

И в разрушенном () хуке:

window.Echo.leave('test.1')

Но только here() метод срабатывает, joining() а также leaving() методы не. Что я делаю неправильно?

1 ответ

Как объяснено в Документах :

  • В here обратный вызов будет выполнен сразу после успешного присоединения канала и получит массив, содержащий информацию о пользователях для всех других пользователей, которые в настоящее время подписаны на канал;
  • В joining метод будет выполнен, когда новый пользователь присоединится к каналу;
  • В то время как leaving будет выполнен, когда пользователь покинет канал.

Таким образом, вы должны использовать другого пользователя для присоединения к этому каналу, тогда текущий пользователь сможет получать обратные вызовы о присоединении и выходе.

Другие вопросы по тегам