擅长:python、mysql、java
<p>一个<a href="https://www.python.org/dev/peps/pep-0525/" rel="noreferrer">recently published PEP draft (PEP 525)</a>,它的支持是<a href="https://www.python.org/dev/peps/pep-0494" rel="noreferrer">scheduled for Python 3.6</a>,它建议允许使用与您所提出的相同语法的异步生成器。在</p>
<p>同时,如果您不想处理异步迭代器样板,也可以使用<a href="https://stackoverflow.com/users/805737/cryingcyclops">CryingCyclops</a>在其注释中提到的<code>asyncio_extras</code>库。在</p>
<p>从<a href="https://pythonhosted.org/asyncio_extras/#module-asyncio_extras.generator" rel="noreferrer">the docs</a>:</p>
<pre><code>@async_generator
async def mygenerator(websites):
for website in websites:
page = await http_fetch(website)
await yield_async(page)
async def fetch_pages():
websites = ('http://foo.bar', 'http://example.org')
async for sanitized_page in mygenerator(websites):
print(sanitized_page)
</code></pre>
<p>还有一个<a href="https://github.com/njsmith/async_generator" rel="noreferrer">async_generator library</a>支持<code>yield from</code>构造。在</p>