php - 在 laravel 应用程序上,无论事件被触发多少次,都可以只调用一次侦听器吗?
问题描述
我认为标题说明了一切.. 在 Laravel 应用程序中,我在代码中多次分派一个事件(或多个事件)并为它们有一个订阅者,但我希望它只处理一次,无论多少次在流中触发事件。
有什么明确的方法可以做到这一点,或者我需要一个 ..singleton 类或类似的东西?
谢谢
解决方案
您可以Event::forget('YourEvent');
在第一次调度后在订阅者中取消监听事件。
缺点是该事件的所有其他侦听器也将被删除。
推荐阅读
- apache-kafka - 应该使用哪个 jmx 指标来监控 kafka 连接中连接器的状态?
- objective-c - Fabric macOS 异常有时没有被捕获?
- r - 当 gap 小于 n 时有效地完成数字
- ruby-on-rails - Ruby Rails attr_encrypted 格式加密属性
- javascript - 组合多个 for 循环以在单击时删除类
- django - 如何在 Django 的框中显示烤面包机通知?
- python - 从网站上抓取数据并将其存储在数组中
- r - 在 R 中创建 geom_map
- c++ - CGAL 的 Lazy_exact_nt
- scala - 在RDD的每个分区上分别做reduceByKey而不聚合结果