Python 非同期コールバックパターンの実装方法を教えてください
Pythonでは、非同期コールバックパターンを実現する複数の方法を使用できます。以下では、一般的な2つの方法を紹介します。
- 非同期処理を行う関数に引数として与える関数を作成し、処理が完了したときにその関数が呼び出され、処理の結果が渡されます。
def callback(result):
# 处理操作结果
def async_operation(callback):
# 执行异步操作
result = do_something_async()
# 操作完成后调用回调函数
callback(result)
# 调用异步操作函数,并传递回调函数
async_operation(callback)
- 非同期
- お待ちください
- 待ち望んで
import asyncio
async def async_operation():
# 执行异步操作
result = await do_something_async()
# 处理操作结果
# ...
# 创建一个事件循环
loop = asyncio.get_event_loop()
# 调用协程函数
loop.run_until_complete(async_operation())
Python3.5以降で利用可能なasyncioモジュールを使用しているためPython3.5以上での実行が必要