Wie kann ich eine Coroutine als normale Funktion in eine Ereignisschleife packen?
ich benutzeasyncio für ein Netzwerk-Framework.
Im folgenden Code (low_level
ist unsere Low-Level-Funktion,main
Block ist unser Programmeintrag,user_func
ist benutzerdefinierte Funktion):
import asyncio
loop = asyncio.get_event_loop()
""":type :asyncio.AbstractEventLoop"""
def low_level():
yield from asyncio.sleep(2)
def user_func():
yield from low_level()
if __name__ == '__main__':
co = user_func()
loop.run_until_complete(co)
Ich möchte das wickelnlow_level
als normale Funktion anstattcoroutine
(zumcompatibility
etc.), aberlow_level
ist in Ereignisschleife. Wie kann es als normale Funktion verpackt werden?