标签:eve 必须 循环对象 容器 return 绑定 高级 任务 imp
import asyncio
from time import sleep
#回调函数必须要有一个参数,表示的就是add_done_callback方法的调用者,就是任务对象本身
def callback(task):
print(‘i am callback!,参数task=‘,task)
print(task.result()) #获取特殊函数内部的返回值
#无法获取特殊函数内部的返回值
async def get_request(url):
print(‘正在下载:‘,url)
sleep(2)
print(‘下载完成,‘,url)
return url
#创建事件循环对象
c = get_request(‘www.baidu.com‘)
task = asyncio.ensure_future(c) #获得了一个任务对象
#给任务对象绑定回调函数
task.add_done_callback(callback)
#事件循环对象目前是独立于协程和任务对象
loop = asyncio.get_event_loop() #创建了一个事件循环对象
#将任务对象注册装载到事件循环对象中并且启动事件循环对象
loop.run_until_complete(task)
标签:eve 必须 循环对象 容器 return 绑定 高级 任务 imp
原文地址:https://www.cnblogs.com/freedom0923/p/13167618.html