使用 asyncio 的 ensure_future() 函数包装要在协程中执行的方法,确保它们按照正确的顺序执行。
示例代码:
import asyncio import aiohttp
async def fetch(session, url): async with session.get(url) as response: return await response.text()
async def main(): async with aiohttp.ClientSession() as session: task1 = asyncio.ensure_future(fetch(session, 'http://example.com/page1')) task2 = asyncio.ensure_future(fetch(session, 'http://example.com/page2'))
# 等待所有任务完成
await asyncio.gather(task1, task2)
if name == 'main': loop = asyncio.get_event_loop() loop.run_until_complete(main())