Wie rufen wir eine normale Funktion auf, bei der eine Coroutine erwartet wird?

Betrachten Sie eine Coroutine, die eine andere Coroutine aufruft:

async def foo(bar):
     result = await bar()
     return result

Dies funktioniert gut, wennbar ist eine Coroutine. Was muss ich tun (d. H. Womit muss ich den Anruf an @ beendenbar) damit dieser Code das Richtige tut, wennbar ist eine normale Funktion?

s ist durchaus möglich, eine Coroutine mit @ zu definiereasync def, auch wenn es niemals asynchron arbeitet (d. h. niemals @ verwendeawait). Bei der Frage wird jedoch gefragt, wie eine reguläre Funktion umbrochen, geändert oder aufgerufen werden soll.bar im Code fürfoo so dassbar kann erwartet werden.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage