Vue.js Laravel echo监听耳语功能不工作

Vue.js Laravel echo监听耳语功能不工作,vue.js,pusher,laravel-echo,Vue.js,Pusher,Laravel Echo,我正在构建一个实时聊天应用程序,但我发现,listenforwhister函数不起作用,但.whisper()函数工作正常,pusher还收到了客户端键入事件。 这是我的密码: 听悄悄话: Echo.private(`messages.${this.user.id}`) .listen("NewMessage", (e) => { this.handleIncoming(e.message); }) .listenForWhisper("typing"

我正在构建一个实时聊天应用程序,但我发现,
listenforwhister
函数不起作用,但
.whisper()
函数工作正常,pusher还收到了客户端键入事件。

这是我的密码:

听悄悄话:

Echo.private(`messages.${this.user.id}`)
    .listen("NewMessage", (e) => {
      this.handleIncoming(e.message);
    })
    .listenForWhisper("typing", (e) => {
      if(e.name !='') {
        this.typeStatus = 'typing .........'
      }
      else {
        this.typeStatus = ''
      }
      console.log(this.typeStatus);
    });
耳语:

watch: {
    message() {
      Echo.private(`messages.${this.user.id}`)
      .whisper("typing", {
        name: this.message
      });
    }
  }
对于频道:

Broadcast::channel('messages.{id}', function ($user, $id) {
    return (int) $user->id === (int) $id;
});

从理论上讲,我的控制台将返回
类型状态
,但我的控制台中没有任何内容。

Whisper的工作原理类似于广播机。您现在正在尝试倾听当前用户的私语。你应该有一个房间,在那里窃窃私语去,应该有多个客户在那里接受。现在,您的频道与用户绑定,没有其他人可以看到通过该频道发送的消息。

Whisper的工作原理与广播者类似。您现在正在尝试倾听当前用户的私语。你应该有一个房间,在那里窃窃私语去,应该有多个客户在那里接受。现在,您的频道与用户绑定,没有其他人可以看到通过该频道发送的消息。

那么您的意思是我必须有一个id使用房间id的频道,并且该房间id将同时接受发送方和接收方,并返回true??确切地说,您可以将房间ID保存在数据库中,并将其作为两个用户的多人关系添加。
broadcastedothers
似乎不是这样。我使用了它,在两个选项卡中打开同一页可以听到当前用户的耳语。我认为开发者应该在播放时处理窃窃私语。所以你的意思是我必须有一个id使用房间id的频道,这个房间id将接受发送者和接收者,并返回true??确切地说,您可以将房间ID保存在数据库中,并将其作为两个用户的多人关系添加。
broadcastedothers
似乎不是这样。我使用了它,在两个选项卡中打开同一页可以听到当前用户的耳语。我认为开发者应该在展示的时候处理好耳语。