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

Set result of 2 or more Async HTTP calls into named variables

我想要实现的是: tasks = [call(url) for url in urls]

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

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

但是,我想要的是,假设只有 2 个 url,那么: a, b = call(url1), call(url2)

类似于在 Koa 中生成数组的方式。任何帮助如何做到这一点,如果可以做到吗??

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

根据文档,gather 保留了传递给它的序列的顺序