Python学习之延时回调普通函数详解

来源:互联网 发布:python会取代java么 编辑:程序博客网 时间:2024/05/19 19:13
本文将通过一个例子为大家介绍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软件开发