python中實現延時回調普通函數示例代碼


python中實現延時回調普通函數示例代碼

這篇文章主要給大家介紹了關於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()是注冊之后立即調用。
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM