python中利用Future對(duì)象回調(diào)別的函數(shù)示例代碼
前言
本文主要給大家介紹了關(guān)于python中用Future對(duì)象回調(diào)別的函數(shù)的相關(guān)內(nèi)容,分享出來(lái)供大家參考學(xué)習(xí),下面話不多說(shuō)了,來(lái)一起看看詳細(xì)的介紹吧。
Future對(duì)象也可以像協(xié)程一樣,當(dāng)它設(shè)置完成結(jié)果時(shí),就可以立即進(jìn)行回調(diào)別的函數(shù)
例子如下:
import asyncio
import functools
def callback(future, n):
print('{}: future done: {}'.format(n, future.result()))
async def register_callbacks(all_done):
print('registering callbacks on future')
all_done.add_done_callback(functools.partial(callback, n=1))
all_done.add_done_callback(functools.partial(callback, n=2))
async def main(all_done):
await register_callbacks(all_done)
print('setting result of future')
all_done.set_result('the result')
event_loop = asyncio.get_event_loop()
try:
all_done = asyncio.Future()
event_loop.run_until_complete(main(all_done))
finally:
event_loop.close()
輸出結(jié)果如下:
registering callbacks on future setting result of future 1: future done: the result 2: future done: the result
在這個(gè)例子里,先調(diào)用函數(shù)add_done_callback()來(lái)注冊(cè)一個(gè)回調(diào)函數(shù),由于只支持一個(gè)參數(shù),使用functools.partial來(lái)作一個(gè)封裝。當(dāng)set_result()函數(shù)調(diào)用之后,就立即進(jìn)行回調(diào)函數(shù)的運(yùn)行。
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
Python編程之gui程序?qū)崿F(xiàn)簡(jiǎn)單文件瀏覽器代碼
這篇文章主要介紹了Python編程之gui程序?qū)崿F(xiàn)簡(jiǎn)單文件瀏覽器代碼,具有一定借鑒價(jià)值,需要的朋友可以了解下。2017-12-12
詳解Python查找算法的實(shí)現(xiàn)(線性,二分,分塊,插值)
這篇文章主要為大家介紹了Python中常見(jiàn)的四種查找算法的實(shí)現(xiàn):線性、二分、分塊和插值,文中通過(guò)圖片詳細(xì)講解了它們實(shí)現(xiàn)的原理與代碼,需要的可以參考一下2022-04-04
OpenCV簡(jiǎn)單標(biāo)準(zhǔn)數(shù)字識(shí)別的完整實(shí)例
這篇文章主要給大家介紹了關(guān)于OpenCV簡(jiǎn)單標(biāo)準(zhǔn)數(shù)字識(shí)別的相關(guān)資料,要通過(guò)opencv 進(jìn)行數(shù)字識(shí)別離不開(kāi)訓(xùn)練庫(kù)的支持,需要對(duì)目標(biāo)圖片進(jìn)行大量的訓(xùn)練,才能做到精準(zhǔn)的識(shí)別出目標(biāo)數(shù)字,需要的朋友可以參考下2021-09-09
Python?PDF轉(zhuǎn)化wolrd代碼的寫(xiě)法小結(jié)
將PDF文件轉(zhuǎn)換為Word文檔的過(guò)程通常需要使用一些外部庫(kù)來(lái)實(shí)現(xiàn),因?yàn)镻ython本身并不直接支持這種轉(zhuǎn)換,這篇文章主要介紹了Python?PDF轉(zhuǎn)化wolrd代碼的寫(xiě)法小結(jié),需要的朋友可以參考下2024-06-06
Python實(shí)現(xiàn)遍歷子文件夾并將文件復(fù)制到不同的目標(biāo)文件夾
這篇文章主要介紹了如何基于Python語(yǔ)言實(shí)現(xiàn)遍歷多個(gè)子文件夾,將每一個(gè)子文件夾中大量的文件,按照每一個(gè)文件的文件名稱(chēng)的特點(diǎn)復(fù)制到不同的目標(biāo)文件夾中,感興趣的可以了解下2023-08-08
Python利用operator模塊實(shí)現(xiàn)對(duì)象的多級(jí)排序詳解
python中的operator模塊提供了一系列的函數(shù)操作。下面這篇文章主要給大家介紹了在Python中利用operator模塊實(shí)現(xiàn)對(duì)象的多級(jí)排序的相關(guān)資料,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2017-05-05

