Метод трансляции Laravel toOthers используется для исключения текущего пользователя из получателей трансляции.Официальная документация включает в себя пример добавления задачи в список через Javascript с конечной точкой, а затем трансляцию добавления для обновления других пользователей.
axios.post('/task', task)
.then((response) => {
this.tasks.push(response.data);
});
...
Echo.channel('orders')
.listen('TaskCreated', (e) => {
this.tasks.push(e.task);
});
Если пользователь, создавший задачу, получит рассылку, он добавит дублирующую задачу в свой список.Таким образом, метод toOthers используется в TaskController:
broadcast(new TaskCreated($task))->toOthers();
Я видел похожие примеры списков задач, используемые в различных уроках / видео / статьях Laravel Echo, и все они используют этот шаблон - но я непонимаю почему.
Учитывая этот пример, по какой причине мы не просто обновляем список задач текущего пользователя исключительно из трансляции вместе со всеми остальными?
Почему мы дублируем код для отправки как из ответа axios, так и из прослушивателя широковещания, что затем требует использования toOthers?
(я понимаю, что это не так уж важно в любом случае с этимНапример, это кажется важным, когда речь идет о более сложной обработке ответов и множестве разных слушателей.)