aync,await调多个接口
时间: 2023-12-17 21:02:07 浏览: 98
使用 `async/await` 关键字可以方便地处理多个异步接口的调用。下面是一个示例代码:
```python
import asyncio
async def fetch_data(url):
# 模拟异步请求数据
print(f"正在请求 {url} ...")
await asyncio.sleep(2) # 模拟耗时操作
print(f"请求 {url} 完成")
return f"{url} 的数据"
async def main():
# 定义需要调用的多个接口
urls = ["https://api1.example.com", "https://api2.example.com", "https://api3.example.com"]
# 创建一个任务列表
tasks = [fetch_data(url) for url in urls]
# 并发执行任务并获取结果
results = await asyncio.gather(*tasks)
# 打印结果
for result in results:
print(result)
# 创建事件循环并运行主函数
loop = asyncio.get_event_loop()
loop.run_until_complete(main())
```
在上述代码中,`fetch_data` 函数模拟了异步请求数据的操作,通过 `async/await` 关键字实现了异步处理。`main` 函数定义了需要调用的多个接口,并创建了一个任务列表 `tasks`,每个任务代表一个接口调用。通过 `asyncio.gather` 函数并发执行这些任务,并使用 `await` 等待所有任务完成并返回结果。最后打印出每个接口的返回数据。
请注意,上述代码仅供参考,实际使用时可能需要根据具体情况进行适当的调整。
阅读全文