Методы 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
будет выполнен, когда пользователь покинет канал.
Таким образом, вы должны использовать другого пользователя для присоединения к этому каналу, тогда текущий пользователь сможет получать обратные вызовы о присоединении и выходе.