micropython: add micropython component
This commit is contained in:
29
components/language/micropython/tests/basics/async_for.py
Normal file
29
components/language/micropython/tests/basics/async_for.py
Normal file
@@ -0,0 +1,29 @@
|
||||
# test basic async for execution
|
||||
# example taken from PEP0492
|
||||
|
||||
class AsyncIteratorWrapper:
|
||||
def __init__(self, obj):
|
||||
print('init')
|
||||
self._it = iter(obj)
|
||||
|
||||
def __aiter__(self):
|
||||
print('aiter')
|
||||
return self
|
||||
|
||||
async def __anext__(self):
|
||||
print('anext')
|
||||
try:
|
||||
value = next(self._it)
|
||||
except StopIteration:
|
||||
raise StopAsyncIteration
|
||||
return value
|
||||
|
||||
async def coro():
|
||||
async for letter in AsyncIteratorWrapper('abc'):
|
||||
print(letter)
|
||||
|
||||
o = coro()
|
||||
try:
|
||||
o.send(None)
|
||||
except StopIteration:
|
||||
print('finished')
|
Reference in New Issue
Block a user