37 lines
1017 B
Python
37 lines
1017 B
Python
|
import asyncio
|
||
|
from asyncevents import on_event, emit, wait
|
||
|
|
||
|
|
||
|
@on_event("event") # Priority defaults to 0, hence highest
|
||
|
async def first(_, event: str):
|
||
|
print(f"Ran first for {event!r}!")
|
||
|
|
||
|
|
||
|
@on_event("event", priority=1) # Higher number = lower priority
|
||
|
async def second(_, event: str):
|
||
|
print(f"Ran second for {event!r}!")
|
||
|
|
||
|
|
||
|
@on_event("event", priority=1) # You can add as many handlers as you want at a given priority level
|
||
|
async def also_second(_, event: str):
|
||
|
print(f"Ran second too for {event!r}!")
|
||
|
|
||
|
|
||
|
@on_event("event", priority=2) # Higher number = lower priority
|
||
|
async def third(_, event: str):
|
||
|
print(f"Ran third for {event!r}!")
|
||
|
|
||
|
|
||
|
async def main():
|
||
|
print("Firing blocking event 'event'")
|
||
|
await emit("event")
|
||
|
print("Handlers for event 'event' have exited")
|
||
|
print("Firing non-blocking event 'event'")
|
||
|
await emit("event", block=False)
|
||
|
print("Non-blocking event 'event' fired, waiting on it")
|
||
|
await wait("event")
|
||
|
|
||
|
|
||
|
if __name__ == "__main__":
|
||
|
asyncio.run(main())
|