您的位置:首页 > 编程语言 > Python开发

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

2017-09-08 22:28 645 查看
本文将通过一个例子为大家介绍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软件开发
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: