将2个或更多Async HTTP调用的结果设置为命名变量

时间:2017-01-05 12:46:20

标签: python python-3.x asynchronous concurrency python-asyncio

我想要达到的目标是: tasks = [call(url) for url in urls]

call是Python3.5中的async方法/ coroutine来执行GET请求,比方说aiohttp

所以基本上所有调用的调用都是异步的。现在我可以运行asyncio.wait(tasks),然后逐个访问期货中的结果。

但是,我想要的是,假设只有2个网址,然后: a, b = call(url1), call(url2)

通过产生数组,你可以在Koa中做到这一点。如果可以做任何帮助怎么做?

1 个答案:

答案 0 :(得分:1)

var1, var2 = loop.run_until_complete(asyncio.gather(task1, task2))

根据文档,聚集保留了传递序列的顺序