python3 同时对urls里的每个url执行异步函数 fetch_apiurl 结果写进abc这个list等所有异步函数结束继续执行后面的代码怎么写
可以使用asyncio模块来实现:
import asyncio
async def fetch_api(url):
# 异步函数实现
urls = [...] # url列表
abc = [] # 存储结果的列表
async def main():
tasks = [asyncio.create_task(fetch_api(url)) for url in urls]
for task in asyncio.as_completed(tasks):
result = await task
abc.append(result)
await main()
# 所有异步函数执行完毕,继续执行后面的代码
解释如下:
- 定义异步函数fetch_api,用于执行每个url请求;
- 定义url列表和结果存储列表abc;
- 定义函数main,用于创建任务列表并使用asyncio.as_completed方法等待所有任务执行完毕,并将结果添加到abc列表中;
- 最后使用await main()来执行主函数,等待所有异步函数执行完毕后继续执行后面的代码。
原文地址: https://www.cveoy.top/t/topic/bP6Y 著作权归作者所有。请勿转载和采集!