Naar hoofdinhoud
🔒 Voorbeeldmodus. De eerste vijftien Foundations-lessen zijn gratis; deze is Pro. Start een 7-daagse trial om de editor, AI-hints en de rest van het curriculum te ontgrendelen. Kaart vereist, op elk moment opzegbaar in Dashboard.Start 7-daagse trial →
← CursussenSenior Deep-DivesModule 6 · FAANG-2026 deep divescontextvars in async — Task context isolationpredict108 / 161
+150 XP
Opdracht
📝 **Taak:** Voorspel de exacte uitvoer. \`req_id\` is ingesteld op \`"req-A"\` in \`main\`. Dan: (1) \`await child()\` — ziet het kind "req-A" of de standaardwaarde? (2) \`asyncio.create_task(isolated())\` waar geïsoleerd is \`set("req-B")\` — lekt de wijziging terug naar main? (3) Wat ziet Main na beide? 📋 Implementeer bovenstaande functie. Tests worden automatisch uitgevoerd. 💡 **Hint:** Herlees de theorie als je vastloopt.
Voorspel uitvoer

Lees de code zorgvuldig

import asyncio
import contextvars

req_id = contextvars.ContextVar("req_id", default="none")


async def child():
    return f"child:{req_id.get()}"


async def isolated():
    req_id.set("req-B")
    return f"isolated:{req_id.get()}"


async def main():
    req_id.set("req-A")
    a = await child()
    t = asyncio.create_task(isolated())
    b = await t
    return [a, b, f"main:{req_id.get()}"]


print(asyncio.run(main()))

Wat zal het programma uitprinten? Schrijf hier:

💬 Discussie

Wees de eerste — stel een vraag of deel een tip.
Log in om mee te doen aan de discussie. Lezen is gratis.
Discussie laden…