Coverage for docs_src/tutorial/soonify_return/tutorial003.py: 100%

21 statements  

« prev     ^ index     » next       coverage.py v7.16.2, created at 2026-11-11 11:00 +0000

1import anyio 1abcdefghijklm

2import asyncer 1abcdefghijklm

3 

4 

5async def do_work(name: str): 1abcdefghijklm

6 await anyio.sleep(1) 1abcdefghijklm

7 message = f"Hello, {name}" 1abcdefghijklm

8 return message 1abcdefghijklm

9 

10 

11async def get_data(): 1abcdefghijklm

12 async with asyncer.create_task_group() as task_group: 1abcdefghijklm

13 soon_value1 = task_group.soonify(do_work)(name="Yury") 1abcdefghijklm

14 await anyio.sleep(2) 1abcdefghijklm

15 if soon_value1.ready: 1abcdefghijklm

16 print(f"Preview value1: {soon_value1.value}") 1abcdefghijklm

17 soon_value2 = task_group.soonify(do_work)(name="Nathaniel") 1abcdefghijklm

18 soon_value3 = task_group.soonify(do_work)(name="Alex") 1abcdefghijklm

19 

20 data = [soon_value1.value, soon_value2.value, soon_value3.value] 1abcdefghijklm

21 return data 1abcdefghijklm

22 

23 

24async def main(): 1abcdefghijklm

25 data = await get_data() 1abcdefghijklm

26 for message in data: 1abcdefghijklm

27 print(message) 1abcdefghijklm

28 

29 

30anyio.run(main) 1abcdefghijklm