问题描述
您好,我在react js中有一个应用程序,其中包含实时聊天,该应用程序已经可以正常工作,但是由于某种原因,我不得不添加一个队列来批量发送电子邮件。 现在的问题是事实的事件被队列的作业表捕获。
这是前面的回显代码:
_livechat(channelId)
{
window.Echo.private(`chat.${channelId}`)
.listen('.MessageSend',(e) => {
console.log(e)
if (this.state.myId != e.data.sender_id) {
var messages = this.state.messages
messages.push(e.data)
this.setState({messages,firstKey:this.state.myFirstKey})
this.messagesEnd.current.scrollTop = this.messagesEnd.current.scrollHeight
}
}).listenForWhisper('typing',(e) => {
this.setState({
isTyping:e.typing
})
})
}
这是事件:
class MessageSend implements ShouldQueue,Shouldbroadcast
{
use dispatchable,InteractsWithSockets,SerializesModels;
public $message,$channelID;
/**
* Create a new event instance.
*
* @return void
*/
public function __construct($message,$channelID)
{
$this->message = $message;
$this->channelID = $channelID;
}
public function broadcastWith()
{
return ['data' => $this->message];
}
/**
* Get the channels the event should broadcast on.
*
* @return \Illuminate\broadcasting\Channel|array
*/
public function broadcastOn()
{
return new PrivateChannel('chat.'.$this->channelID);
}
}
当我在聊天之间发送消息时,它仍在作业表中注册:
并且在laravel控制台echo中没有活动,它不执行任何操作:
如果有人经过类似的湖泊并能支持我,非常感谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)