【发布时间】:2015-10-10 10:54:06
【问题描述】:
我想要一个类似以下的课程
Foo(object):
@property
@asyncio.coroutine
def bar(self):
# This will need to run some blocking code via loop.run_in_executor()
return 'bar'
然后我想访问属性而不必yield from
# In a loop...
foo = Foo()
foo.bar #This will return a generator object, but I want it to return 'bar'.
yield from foo.bar #This will return 'bar', but I don't want to do the yield from.
这样的事情可能吗?
【问题讨论】:
-
运行协程生成器的唯一方法是使用'yield from',调用协程可以有效地驱动它,否则使用asyncio.async之类的东西来驱动它。否则,根据您的观察,它只是一个“惰性”生成器对象。
-
@shongololo 也可以这样回答。
标签: python python-asyncio