python中实现延时回调普通函数示例代码

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()是注册之后立即调用。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助

上一篇:Python中的"缝合器"zip函数:将多个可迭代对象组合成一个迭代器


下一篇:测试一个函数的运行时间(C++)