Junior — Middle
70
Имели ли опыт работы с синхронными и асинхронными компонентами FastAPI?
Answer from AI
sobes.tech AI
Да, в FastAPI можно работать как с синхронными, так и с асинхронными компонентами.
Синхронные функции обрабатывают запросы обычным способом, а асинхронные — с использованием async def, что позволяет эффективно обрабатывать множество запросов без блокировки.
Пример:
from fastapi import FastAPI
import time
app = FastAPI()
@app.get("/sync")
def sync_endpoint():
time.sleep(1) # блокирующая операция
return {"message": "sync response"}
@app.get("/async")
async def async_endpoint():
import asyncio
await asyncio.sleep(1) # неблокирующая операция
return {"message": "async response"}
Асинхронные компоненты полезны для операций ввода-вывода, например, запросов к базе данных или внешним сервисам, позволяя серверу обрабатывать другие запросы во время ожидания.