diff options
Diffstat (limited to 'tests/basics/async_await2.py')
-rw-r--r-- | tests/basics/async_await2.py | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/basics/async_await2.py b/tests/basics/async_await2.py new file mode 100644 index 0000000000..129d3751a5 --- /dev/null +++ b/tests/basics/async_await2.py @@ -0,0 +1,27 @@ +# test await expression + +import sys +if sys.implementation.name == 'micropython': + # uPy allows normal generators to be awaitables + coroutine = lambda f: f +else: + import types + coroutine = types.coroutine + +@coroutine +def wait(value): + print('wait value:', value) + msg = yield 'message from wait(%u)' % value + print('wait got back:', msg) + return 10 + +async def f(): + x = await wait(1)**2 + print('x =', x) + +coro = f() +print('return from send:', coro.send(None)) +try: + coro.send('message from main') +except StopIteration: + print('got StopIteration') |