Mam kod, który wygląda tak:Jak dodać typ adnotacji do asyncio.Task
import asyncio
from typing import List
def some_callback(result):
print(result)
async def b() -> List[int]:
return [1, 2, 3]
async def a() -> None:
search = asyncio.ensure_future(b())
search.add_done_callback(some_callback)
await search
loop = asyncio.get_event_loop()
loop.run_until_complete(a())
loop.close()
próbuję dodać typ adnotacji do funkcji some_callback
, ale nie można w pełni zrozumieć, motyka do opisywania zmienna result
. Czy powinien to być Coroutine
? A może Awaitable
?
Kiedy używam reveal_type
z mypy
, wyjście o zmiennej result
jest Any
.
Wynikiem tego programu jest:
<Task finished coro=<b() done, defined at ____.py:7> result=[1, 2, 3]>
Jak udokumentować tę funkcję prawidłowo?