本文將通過一個例子為大家介紹python
中延時回調(diào)普通函數(shù)相關內(nèi)容,一起來看看吧,希望對大家
學習python有所幫助。
想在將來某一時刻進行函數(shù)回調(diào),可以使用call_later()
函數(shù)來實現(xiàn),第一個參數(shù)是回調(diào)用延時,第二個是回調(diào)的函數(shù)名稱,例子如下:
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
在這個例子里,同時調(diào)用的三個函數(shù),會發(fā)現(xiàn)調(diào)用順序不一樣。call_soon()
是注冊之后立即調(diào)用。
來源:
大坡3D
軟件開發(fā)