При выходе из Laravel echo событие не запускается

#php #laravel #laravel-echo #laravel-websockets

#php #ларавель #laravel-echo #laravel-websockets

Вопрос:

Я пытаюсь отправить событие whisper, когда пользователь покидает канал, но событие, отключенное пользователем, не срабатывает. Как ни странно, событие, связанное с пользователем, работает, когда пользователь присоединяется.

 let channel = Echo.join(`consultation`)
    channel.here((users) => {
        usersCount = users.length;
        $('#total-users').text(usersCount)
    })
    channel.joining((user) => {
        usersCount = usersCount 1;
        $('#total-users').text(usersCount)
        Toast.fire({
            icon: 'info',
            title: user.name ' has joined the room.'
        })
        channel.whisper('user-connected',myPeerId) //works
    })
    channel.leaving((user) => {
        usersCount = usersCount-1;
        $('#total-users').text(usersCount)
        Toast.fire({
            icon: 'info',
            title: user.name ' has left the room.'
        })
        channel.whisper('user-disconnected',myPeerId) //doesnt work
    })
    channel.listenForWhisper('user-disconnected',(e)=> {
        console.log('userDisconect')
        if (peers[e]) peers[e].close()
    })
 

Комментарии:

1. Когда пользователь A покидает канал, для пользователя B запускается функция выхода, и сразу после тоста пользователь B будет шептать в канале. Итак, в вашем тестовом пользователе C не получает шепот, верно?

2. Не так ли: пользователь A, покидающий канал, будет выполнять шепот, а пользователь B получит его? @Parsa_Gholipour

3. Нет. Когда пользователь A уходит, событие выхода будет запущено для всех остальных присутствующих в канале, а объектом «user» является пользователь A.