Home  >  Article  >  Backend Development  >  Detailed explanation of delay callback common functions in python

Detailed explanation of delay callback common functions in python

巴扎黑
巴扎黑Original
2017-09-09 11:03:391823browse

This article mainly introduces to you the relevant information about the implementation of common functions of delayed callback in Python. The article introduces it in great detail through sample code. It has certain reference learning value for everyone's study or work. Friends who need it Let’s learn with the editor below.

Preface

The callback function is a problem we often encounter in python programming, and we want to perform a function at some point in the future Callback can be implemented using the call_later() function. The first parameter is the callback delay, and the second is the callback function name.

Examples are as follows:


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()

The result output is as follows:


entering event loop
registering callbacks
callback 3 invoked
callback 2 invoked
callback 1 invoked
closing event loop

In this example, the three functions called at the same time will find that the calling order is different. call_soon() is called immediately after registration.

The above is the detailed content of Detailed explanation of delay callback common functions in python. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn