Study
FastAPI

Async & Await

Penjelasan

FastAPI mendukung fungsi async def maupun def biasa untuk path operation. Pakai async def kalau di dalamnya ada operasi I/O yang mendukung await (mis. query database async, HTTP call ke API lain) — ini memungkinkan server menangani request lain selagi menunggu I/O selesai, tanpa memblokir thread.

Contoh Konsep

import httpx

@app.get('/cuaca')
async def ambil_cuaca():
    async with httpx.AsyncClient() as client:
        response = await client.get('https://api.cuaca.example/jakarta')
        return response.json()

Praktikum

Ubah endpoint ambil_data menjadi async def dan gunakan await client.get() untuk memanggil API eksternal.

Editor Latihan

Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.

Tips

Jangan pakai library sinkron (mis. requests biasa) di dalam async def tanpa await — itu tetap memblokir event loop. Kalau library-mu tidak punya versi async, pakai def biasa (FastAPI otomatis menjalankannya di thread pool terpisah).