Ich bin sehr froh, typing Modul in Python 3 zu verwenden. Auch bin ich sehr froh, asyncio statt twisted
, tornado
und Alternativen zu verwenden.Python Typings und Futures
Meine Frage ist, wie man das Ergebnis einer Koroutine richtig definiert?
Sollten wir sagen, es ist nur eine Coroutine? Beispiel 1:
async def request() -> asyncio.Future:
pass
Oder sollten wir den Ergebnistyp der Coroutine als Rückgabewert definieren? Beispiel 2:
Wenn ja, wie dann mit einfachen Funktionen, die Futures zurückgeben? Beispiel 3:
def request() -> asyncio.Future:
f = asyncio.Future()
# Do something with the future
return f
Ist es ein richtiger Weg? Wie können wir dann sagen, was als ein Ergebnis der Zukunft erwartet wird?
Verwenden Sie die generischen Versionen, z. https://docs.python.org/3/library/typing.html#typing.Awaitable – jonrsharpe
Danke, das ist perfekt – oblalex