我得到一条错误消息,其中说我忘记等待一个例程,这不是真的,如代码中突出显示的那样。
功能如下:
def _aio(self, f):
""" Make some function run asynchronously. """
async def aio_wrapper(**kwargs):
f_bound = functools.partial(f, **kwargs)
loop = asyncio.get_running_loop()
return await loop.run_in_executor(self._executor, f_bound)
return aio_wrapper
下面是我使用的代码:
for key in image_keys:
res = self._aio(self._client.get_object)(Bucket=self.bucket_name, Key=key)
print(type(res))
你不需要await
,aio_wrapper
:
res = await self._aio(self._client.get_object)(Bucket=self.bucket_name, Key=key)
当运行self._aio(self._client.get_object)
时,包装器执行并返回一个必须调用的协程函数和await
。