如何编写异步执行任务的递归函数?
How to write a recursive function which performs tasks asynchronously?
如何在python中创建递归协程函数?
import asyncio
def fetch_url(x):
if isinstance(x, list):
return map(fetch_url, x)
else:
return parsed_url(x)
即调用double(10)
时函数同步执行,调用double([2,3,4])
时异步执行
如果 "would execute asynchronously" 你的意思是 "in parallel",试试这个:
async def fetch_url(x):
if isinstance(x, list):
return await asyncio.gather(*[fetch_url(url) for url in x])
return parsed_url(x)
如何在python中创建递归协程函数?
import asyncio
def fetch_url(x):
if isinstance(x, list):
return map(fetch_url, x)
else:
return parsed_url(x)
即调用double(10)
时函数同步执行,调用double([2,3,4])
时异步执行
如果 "would execute asynchronously" 你的意思是 "in parallel",试试这个:
async def fetch_url(x):
if isinstance(x, list):
return await asyncio.gather(*[fetch_url(url) for url in x])
return parsed_url(x)