我正在尝试以下操作:
class Payload_Session_Generator:
def __init__(self):
pass
async def __anext__(self):
async for payload in generate_fb_payload():
if type(payload) != str:
yield payload
else:
StopAsyncIteration
def __aiter__(self):
return self
然后将其作为实例传递到另一个函数,并显式调用__aiter__
方法,其中_iter
是上述类的对象:
chunk = await self._iter.__anext__()
然后会产生以下错误:
TypeError: 对象 async_generator 不能在 'await' 表达式中使用
__anext__
必须返回
一个 元素。__aiter__
可以yield
多个 元素。 - MisterMiyagi