调度事件,是把这个事件推送给队列吗
OrderShipped::dispatch($order)
和
event(new OrderShipped($order))
有什么区别 是不是都是去执行一个事件?
第一种是必须用队列,
第二种可以不是队列?




关于 LearnKu
两个没有区别
当你的事件使用了
Illuminate\Foundation\Events\Dispatchabletrait,便可以直接调用
dispatch方法。第二种则是使用了辅助函数
event()是否使用队列取决于你的事件监听器是否实现
Illuminate\Contracts\Queue\ShouldQueue接口就是你监听事件后想要做的事,具体使用请参考文档 事件系统《Laravel 9 中文文档》
当程序发现你的监听器实现了该接口,便会将其放入队列去处理