问题
我可以确认 Pusher API 正在接收消息。我在 Pusher 网站的调试控制台中看到了。但是听回调根本不起作用。
我关注 this tutorial to implement Pusher in Laravel 5.4
以下是一步一步完成的事情。
composer require pusher/pusher-php-server
npm install --save laravel-echo pusher-js
resources/assets/js/bootstrap.js
中实例化 Echo 实例env
中的按键在 bootstrap.js
文件。 最后,我在 Blade 中编写了以下代码。
<script>
window.Echo.channel('SendMessageChannel.1')
.listen('App.Events.SendMessageEvent', (e) => {
console.log(e);
});
</script>
Controller 代码
broadcast(new SendMessageEvent("Hi"))->toOthers();
事件代码
class SendMessageEvent implements ShouldBroadcast
{
use Dispatchable, InteractsWithSockets, SerializesModels;
public $Message;
public function __construct($message)
{
$this->Message = $message;
}
public function broadcastOn()
{
return new PrivateChannel('SendMessageChannel.2');
}
}
我错过了什么吗?
最佳答案
SendMessageEvent
没有命名空间。 private-SendmessageChannel
或者您使用 Echo.private('SendmessageChannel')
因为我们在某些部分通过teampeak解决了这个问题,所以很难在这个答案中详细解释它。
还有一个问题是,该事件在客户端开始收听之前就被触发了。最好的方法是使用推送控制台进行调试并触发自定义事件。
关于laravel - 监听回调在 Pusher API Laravel 5.4 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43102342/