我真的很想使用python协程来简化我的数据消费者,但我发现标准实现并不是很优雅:
def printer():
print('setup')
try:
while True:
data = yield
print(data)
except GeneratorExit:
pass
print('cleanup')有没有办法通过使用for循环来编写消费者?
def printer():
print('setup')
for data in yield_iterator():
print(data)
print('cleanup')你知道一种用python编写协程的优雅方法吗?
发布于 2020-08-18 21:38:33
class Awaitable:
def __await__(self):
return (yield)然后就可以写成这样的代码:
async def printer(source):
print('setup')
async for data in source:
print(data)
print('cleanup')https://stackoverflow.com/questions/63444045
复制相似问题