[Python-ideas] Are there asynchronous generators?
Yury Selivanov
yselivanov.ml at gmail.com
Mon Jun 29 00:14:20 CEST 2015
More information about the Python-ideas mailing list
Mon Jun 29 00:14:20 CEST 2015
- Previous message (by thread): [Python-ideas] Are there asynchronous generators?
- Next message (by thread): [Python-ideas] Are there asynchronous generators?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 2015-06-28 11:52 AM, Paul Sokolovsky wrote: >> There is also the problem that one cannot easily feed a queue, >> >asynchronous generator, or any asynchronous iterator to a simple >> >synchronous consumer like sum() or list() or "".join(). It would be >> >nice if there was a way to wrap them to asynchronous ones when needed >> >– something like (async sum)(asynchronously_produced_numbers()). > All that is easily achievable with classical Python coroutines, not > with asyncio garden variety of coroutines, which lately were casted > into a language level with async/await disablers: > > def coro1(): > yield 1 > yield 2 > yield 3 > > def coro2(): > yield from coro1() > yield 4 > yield 5 > > print(sum(coro2())) You have easily achieved combining two generators with 'yield from' and feeding that to 'sum' builtin. There is no way to combine synchronous loops with asynchronous coroutines; by definition, the entire process will block while you are iterating trough them. Yury
- Previous message (by thread): [Python-ideas] Are there asynchronous generators?
- Next message (by thread): [Python-ideas] Are there asynchronous generators?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-ideas mailing list