Nick Coghlan added the comment:
Latest version looks good to me (aside from a quibble about whether
StopAsyncIteration should inherit from BaseException instead of Exception - see
my review for details).
Based on Guido's explanation in the review, I also suggested adding the
following example method to the PEP as part of the rationale for
StopAsyncIteration:
def __anext__(self):
try:
data = await self._get_data()
except EOFError:
raise StopAsyncIteration
return data
The trick is that when __anext__ is itself a coroutine, we really do have 3
exit paths:
* suspension to wait for events (await)
* returning the next value (return)
* terminating iteration (raise StopAsyncIteration)
----------
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue24017>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com