1
私はいくつかのデータをフェッチして返すasyncioコルーチンをいくつか持っています。このように:普通の関数からPythonコルーチン(async def)を呼び出すテスト
async def fetch_data(*args):
result = await some_io()
return result
基本的にこのコルーチンはコルーチンのチェーンから呼び出され、初期コルーチンは、タスクを作成することでrunnedされます。 しかし、どのようなテスト目的のために、私は一つだけコルーチンを実行するためにいくつかのファイルを実行しているだけで、このようしたい場合:
if __name__ == '__main__':
result = await fetch_data(*args)
print(result)
をそして明らかに私は私が実行しようとしているので、これを行うと、コルーチンないからコルーチンを待つことはできませんが関数。 それでは、問題は、コルーチンから関数を呼び出さずにデータを取得する正しい方法はありますか? Future
のオブジェクトをresult
に作成しておきますが、もう少しシンプルで鮮明な方法がいくつかありますか?