本文将通过一个例子为大家介绍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()
是注册之后立即调用。
来源:
大坡3D
软件开发