目录   greelet|yield|asyncio 1    async|await 4    Task对象 9    asyncio.Future对象 12    异步迭代器 16    异步上下文管理器 17  
          目录
greelet|yield|asyncio 1
async|await 4
Task对象 9
asyncio.Future对象 12
异步迭代器 16
异步上下文管理器 17
uvloop|FastAPI 19
greelet|yield|asyncio




遇到IO会自动切换;
async|await

普通方式:

协程方式(异步)



asyncio.run(func()) # py3.7用此句替代事件循环



Task对象


会立即在事件循环中创建任务对象,使多个任务并发地运行;
示例2、3常用:

task_list写在函数内,在执行asyncio.run()时事件循环已经创建了,在事件循环内创建任务;

task_list写在外面,task_list里只能放协程对象,asyncio.wait()会创建事件循环,在事件循环内创建任务;
asyncio.Future对象
基本不用;





异步迭代器
__aiter__()
__anext__()
async for

async for语句必须写在协程函数内;
异步上下文管理器
__aenter__()
__aexit__()
async with

async with语句必须写在协程函数内;
uvloop|FastAPI







luffy是该代码的文件名,app是代码中的app=FastAPI();


