Laravel echo listen for whisper 功能不工作
Laravel echo listen for whisper function not working
我正在构建一个实时聊天应用程序,但我发现 listenforwhisper
功能无法正常工作,但 .whisper()
功能正常,推送器也收到客户端输入事件。
这是我的代码:
听耳语:
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;
});
理论上,我的控制台将 return typeStatus
,但我的控制台中什么也没有。
Whisper 的工作方式类似于 broadcastToOthers。您现在正在尝试倾听当前用户的窃窃私语。你应该有一个房间,耳语会传到那里,那里应该有多个客户可以接收。现在您的频道已与用户绑定,其他人无法看到通过该频道的消息。
好的,我遇到了同样的问题。我有 2 个频道和 2 个用户。我用 wisper
设置了一个间隔
setInterval(() => {
channel.whisper('typing', {
message: 'hola!'
});
}, 3000);
channel.listenForWhisper('typing', (e) => {
console.log('Typing');
console.log(e);
})
问题是我正在接收事件,但在我将第二个用户连接到频道之前无法看到 listenForWhisper 的输出。
连接第二个用户后,一切正常。所以如果你有同样的问题我就离开了她。
我正在构建一个实时聊天应用程序,但我发现 listenforwhisper
功能无法正常工作,但 .whisper()
功能正常,推送器也收到客户端输入事件。
这是我的代码:
听耳语:
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;
});
理论上,我的控制台将 return typeStatus
,但我的控制台中什么也没有。
Whisper 的工作方式类似于 broadcastToOthers。您现在正在尝试倾听当前用户的窃窃私语。你应该有一个房间,耳语会传到那里,那里应该有多个客户可以接收。现在您的频道已与用户绑定,其他人无法看到通过该频道的消息。
好的,我遇到了同样的问题。我有 2 个频道和 2 个用户。我用 wisper
设置了一个间隔setInterval(() => {
channel.whisper('typing', {
message: 'hola!'
});
}, 3000);
channel.listenForWhisper('typing', (e) => {
console.log('Typing');
console.log(e);
})
问题是我正在接收事件,但在我将第二个用户连接到频道之前无法看到 listenForWhisper 的输出。
连接第二个用户后,一切正常。所以如果你有同样的问题我就离开了她。