Встречается на 1% собеседований по Python
Какие знаешь методы для получения результата асинхронной задачи
В Python для работы с асинхронными задачами есть несколько подходов:
- await - основной способ получения результата в async/await:
python
result = await some_async_function()- asyncio.create_task() + await:
python
task = asyncio.create_task(some_async_function())
result = await task- asyncio.gather() для нескольких задач:
python
results = await asyncio.gather(
task1(),
task2(),
task3()
)- asyncio.wait() с флагами (FIRST_COMPLETED и др.):
python
done, pending = await asyncio.wait([task1, task2])
for task in done:
print(task.result())- callback через add_done_callback:
python
def callback(future):
print(future.result())
task = asyncio.create_task(some_async_function())
task.add_done_callback(callback)- Future.result() (блокирующий вызов в синхронном коде):
python
result = task.result() # Будет ждать завершенияВажно: в asyncio нельзя получить результат задачи напрямую, нужно либо await, либо callback. Для работы с результатами из синхронного кода используют asyncio.run() или loop.run_until_complete().

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
Похожие вопросы
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы