协程_async 修饰函数_回调

本文介绍了Python中使用async/await关键字定义协程函数,并展示了如何通过事件循环运行协程。同时,文章探讨了task和future的使用,以及如何为任务添加回调函数来处理完成后的结果。内容涵盖了异步编程的基础概念和实践应用。
摘要由CSDN通过智能技术生成

协程_async 修饰函数_回调

#!user/bin/env python3
# -*- coding:utf-8 -*-
# Email 23198899766@QQ.com
# Time : 2021/3/14 13:17

import asyncio



# async 修饰函数
async def request(url):
    print('正在请求的url是',url)
    print('请求成功',url)
    return url
# async修饰的函数,调用之后返回的一个协程对象
c=request('www.baidu.com')


# #创建一个事件循环对象
# loop = asyncio.get_event_loop()
#
# #将协程对象注册到loop中,然后启动loop
# loop.run_until_complete(c)


# #task的使用
# loop = asyncio.get_event_loop()
# #基于loop创建了一个task对象
# task=loop.create_task(c)
# print(task)#没执行的状态pending
# loop.run_until_complete(task)
# print(task)#执行的状态finished


#
# #future的使用
# loop = asyncio.get_event_loop()
# task = asyncio.ensure_future(c)
# print(task)
# loop.run_until_complete(task)
# print(task)


def callback_func(task):
    # result返回的就是任务对象中封装的协程对象对应函数的返回值
    print(task.result())

#绑定回调
loop = asyncio.get_event_loop()
task = asyncio.ensure_future(c)
# 将回调函数绑定金到任务对象中
task.add_done_callback(callback_func)
loop.run_until_complete(task)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

火浴R

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值