Spaces:
Runtime error
Runtime error
| import asyncio | |
| async def async_zip_stream(*iterators, default_value=''): | |
| tasks = [asyncio.create_task(iterator.__anext__()) for iterator in iterators] | |
| done = [False] * len(iterators) | |
| while not all(done): | |
| results = [] | |
| for i, task in enumerate(tasks): | |
| if done[i]: | |
| results.append(default_value) | |
| elif task.done(): | |
| try: | |
| results.append(task.result()) | |
| tasks[i] = asyncio.create_task(iterators[i].__anext__()) | |
| except StopAsyncIteration: | |
| done[i] = True | |
| results.append(default_value) | |
| else: | |
| results.append(default_value) | |
| yield tuple(results) | |
| await asyncio.sleep(0.01) # Slight delay to allow other tasks to progress | |