首頁 >後端開發 >Python教學 >詳解python中實現延時回調普通函數

詳解python中實現延時回調普通函數

巴扎黑
巴扎黑原創
2017-09-09 11:03:391869瀏覽

這篇文章主要給大家介紹了關於python中實現延時回調普通函數的相關資料,文中透過範例程式碼介紹的非常詳細,對大家的學習或工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。

前言

回呼函數是我們在python程式設計中常會遇到的問題,而想在將來某一時刻進行函數回調,可以使用call_later()函數來實現,第一個參數是回呼叫延時,第二個是回調的函數名稱

範例如下:


import asyncio 
 
 
def callback(n): 
 print('callback {} invoked'.format(n)) 
 
 
async def main(loop): 
 print('registering callbacks') 
 loop.call_later(0.2, callback, 1) 
 loop.call_later(0.1, callback, 2) 
 loop.call_soon(callback, 3) 
 
 await asyncio.sleep(0.4) 
 
 
event_loop = asyncio.get_event_loop() 
try: 
 print('entering event loop') 
 event_loop.run_until_complete(main(event_loop)) 
finally: 
 print('closing event loop') 
 event_loop.close()

結果輸出如下:


##

entering event loop
registering callbacks
callback 3 invoked
callback 2 invoked
callback 1 invoked
closing event loop

在這個例子裡,同時呼叫的三個函數,會發現呼叫順序不一樣。

call_soon()是註冊之後立即呼叫。

以上是詳解python中實現延時回調普通函數的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn