python中利用Future对象回调别的函数示例代码


Posted in Python onSeptember 07, 2017

前言

本文主要给大家介绍了关于python中用Future对象回调别的函数的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。

Future对象也可以像协程一样,当它设置完成结果时,就可以立即进行回调别的函数

例子如下:

import asyncio 
import functools 
 
 
def callback(future, n): 
 print('{}: future done: {}'.format(n, future.result())) 
 
 
async def register_callbacks(all_done): 
 print('registering callbacks on future') 
 all_done.add_done_callback(functools.partial(callback, n=1)) 
 all_done.add_done_callback(functools.partial(callback, n=2)) 
 
 
async def main(all_done): 
 await register_callbacks(all_done) 
 print('setting result of future') 
 all_done.set_result('the result') 
 
 
event_loop = asyncio.get_event_loop() 
try: 
 all_done = asyncio.Future() 
 event_loop.run_until_complete(main(all_done)) 
finally: 
 event_loop.close()

输出结果如下:

registering callbacks on future
setting result of future
1: future done: the result
2: future done: the result

在这个例子里,先调用函数add_done_callback()来注册一个回调函数,由于只支持一个参数,使用functools.partial来作一个封装。当set_result()函数调用之后,就立即进行回调函数的运行。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Python 相关文章推荐
Python网页解析利器BeautifulSoup安装使用介绍
Mar 17 Python
快速解决安装python没有scripts文件夹的问题
Apr 03 Python
Python读取本地文件并解析网页元素的方法
May 21 Python
influx+grafana自定义python采集数据和一些坑的总结
Sep 17 Python
Python中文件的写入读取以及附加文字方法
Jan 23 Python
dataframe 按条件替换某一列中的值方法
Jan 29 Python
Python不同目录间进行模块调用的实现方法
Jan 29 Python
python图像处理模块Pillow的学习详解
Oct 09 Python
Series和DataFrame使用简单入门
Nov 13 Python
Windows10下Tensorflow2.0 安装及环境配置教程(图文)
Nov 21 Python
PyTorch中反卷积的用法详解
Dec 30 Python
python实现学生信息管理系统(面向对象)
Jun 05 Python
Python标准库之itertools库的使用方法
Sep 07 #Python
在Python的一段程序中如何使用多次事件循环详解
Sep 07 #Python
教你学会使用Python正则表达式
Sep 07 #Python
Python基础学习之常见的内建函数整理
Sep 06 #Python
Python升级导致yum、pip报错的解决方法
Sep 06 #Python
Python实现求两个csv文件交集的方法
Sep 06 #Python
Python中的is和==比较两个对象的两种方法
Sep 06 #Python
You might like
解析argc argv在php中的应用
2013/06/24 PHP
分享一个漂亮的php验证码类
2016/09/29 PHP
返回页面顶部top按钮通过锚点实现(自写)
2013/08/30 Javascript
javascript中对Attr(dom中属性)的操作示例讲解
2013/12/02 Javascript
js+css实现上下翻页相册代码分享
2015/08/18 Javascript
javascript嵌套函数和在函数内调用外部函数的区别分析
2016/01/31 Javascript
javascript之Array 数组对象详解
2016/06/07 Javascript
jQuery扩展实现text提示还能输入多少字节的方法
2016/11/28 Javascript
Restify中接入Socket.io报Error:Can’t set headers的错误解决
2017/03/28 Javascript
js实现移动端轮播图效果
2020/12/09 Javascript
vue计算属性时v-for处理数组时遇到的一个bug问题
2018/01/21 Javascript
jQuery实现的简单图片轮播效果完整示例
2018/02/08 jQuery
基于javascript canvas实现五子棋游戏
2020/07/08 Javascript
python基础教程之自定义函数介绍
2014/08/29 Python
零基础写python爬虫之urllib2使用指南
2014/11/05 Python
python类继承与子类实例初始化用法分析
2015/04/17 Python
在Django中URL正则表达式匹配的方法
2018/12/20 Python
使用python进行广告点击率的预测的实现
2019/07/04 Python
python标准库OS模块函数列表与实例全解
2020/03/10 Python
Python figure参数及subplot子图绘制代码
2020/04/18 Python
为什么称python为胶水语言
2020/06/16 Python
python文件编写好后如何实践
2020/07/07 Python
Python json格式化打印实现过程解析
2020/07/21 Python
Python unittest discover批量执行代码实例
2020/09/08 Python
纯CSS3制作的简洁蓝白风格的登录模板(非IE效果更好)
2013/08/11 HTML / CSS
Madewell美德威尔美国官网:美国休闲服饰品牌
2016/11/25 全球购物
BabyBjörn婴儿背带法国官网:BabyBjorn法国
2018/06/16 全球购物
StubHub澳大利亚:购买或出售您的门票
2019/08/01 全球购物
介绍一下Linux文件的记录形式
2012/04/18 面试题
日语专业毕业生求职信
2013/12/04 职场文书
幼儿园教师教学反思
2014/02/06 职场文书
消防工作实施方案
2014/06/09 职场文书
党风廉政建设调研报告
2015/01/01 职场文书
2015最新学生自我评价范文
2015/03/03 职场文书
办公室日常管理制度
2015/08/04 职场文书
python实现自动化群控的步骤
2021/04/11 Python