我在我的项目中实现了 Laravel 广播。一切正常,但我想知道是否可以收听所有事件而不仅仅是特定事件?
目前我的前端有这个代码:
window.Echo.channel('office-dashboard')
.listen('CompanyUpdated', (e) => {
console.log(e.company);
});
.listen('CompanyDeleted', (e) => {
console.log(e.company);
});
我想以这样一种方式构建我的事件,以便我可以捕获它到底是什么类型的事件,以及执行了什么样的 Action 。但是,如果我仍然必须像现在这样专门聆听每个事件,那将毫无用处。我想收听 channel 中的所有事件,这可能吗?
我读了docs ,但那些只谈论如何收听特定事件。
最佳答案
我遇到了同样的情况。我认为您需要收听各个 channel 。但是您可以像下面这样编写更简洁的代码。
const channel = window.Echo.channel('office-dashboard')
const eventsTolisten = [
'CompanyUpdated',
'CompanyDeleted',
]
eventsTolisten.forEach(event => {
channel.listen(event, e => {
this.handleSocketEvents({
name: event,
data: e.data
})
})
})
关于javascript - Laravel 回显 : is it possible to listen to all events instead of a specific one?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46604807/