在Python中,可以使用多種方式實(shí)現(xiàn)異步回調(diào)模式,下面介紹兩種常見(jiàn)的方法:
def callback(result):
# 處理操作結(jié)果
def async_operation(callback):
# 執(zhí)行異步操作
result = do_something_async()
# 操作完成后調(diào)用回調(diào)函數(shù)
callback(result)
# 調(diào)用異步操作函數(shù),并傳遞回調(diào)函數(shù)
async_operation(callback)
async
和await
關(guān)鍵字創(chuàng)建一個(gè)協(xié)程函數(shù),使用await
關(guān)鍵字等待異步操作的結(jié)果,然后進(jìn)行相應(yīng)的處理。例如:import asyncio
async def async_operation():
# 執(zhí)行異步操作
result = await do_something_async()
# 處理操作結(jié)果
# ...
# 創(chuàng)建一個(gè)事件循環(huán)
loop = asyncio.get_event_loop()
# 調(diào)用協(xié)程函數(shù)
loop.run_until_complete(async_operation())
需要注意的是,第二種方法使用了Python 3.5版本引入的asyncio
模塊,需要在Python 3.5及以上版本中使用。