【发布时间】:2019-09-10 19:11:01
【问题描述】:
我需要做的就是编写一个简单的异步函数来返回一些东西。类似于
async def diss(lis):
x = []
for i in lis:
x.append(i + 1) #the operation is arbitrary, but the input and output of a list is the desired result
return x
lis = [1, 2, 3, 4]
res = await diss(lis)
但是,这给了我在 await diss(lis) 处的语法错误
我在网上找到的都是一些教程,其中在异步函数中打印了一些东西,但是当我尝试返回一些东西时,我总是收到一个协程或未来对象。
我的目标本质上是让循环异步运行,以提高性能,然后返回一些东西
【问题讨论】:
-
您是否尝试在事件循环之外等待协程?您需要获取或创建一个事件循环并在其中运行协程。最简单的方法是使用
asyncio.run -
根据[stackoverflow.com/questions/52796630/…我发现python 3.6 asyncio不支持运行
标签: python python-3.x asynchronous async-await python-asyncio