Notifies all receiver functions with given kwargs :param sender: model that sends the signal :type sender: type["Model"] :param kwargs: arguments passed to receivers :type kwargs: Any
(self, sender: type["Model"], **kwargs: Any)
| 82 | return True if receiver_func is not None else False |
| 83 | |
| 84 | async def send(self, sender: type["Model"], **kwargs: Any) -> None: |
| 85 | """ |
| 86 | Notifies all receiver functions with given kwargs |
| 87 | :param sender: model that sends the signal |
| 88 | :type sender: type["Model"] |
| 89 | :param kwargs: arguments passed to receivers |
| 90 | :type kwargs: Any |
| 91 | """ |
| 92 | receivers = [ |
| 93 | receiver_func(sender=sender, **kwargs) |
| 94 | for receiver_func in self._receivers.values() |
| 95 | ] |
| 96 | await asyncio.gather(*receivers) |
| 97 | |
| 98 | |
| 99 | class SignalEmitter(dict): |