
Async/await
Async/await je dvojice klíčových slov v mnoha různých programovacích jazycích, která slouží k podpoře asynchronního programování. Jedná se o způsob řízení běhu příbuzný koprogramům a nejčastěji používaný pro asynchronní vstup/výstup a podobné úlohy. Dvojice async/await je podporována v Pythonu (od verze 3.5), v JavaScriptu (od verze ES2017), v C# (od verze 5.0), v Kotlinu, v Dartu, Hacku, Rustu (od verze 1.39)[1], Swiftu[2] a Nimu. Další jazyky s jeho zavedením počítají, například Scala.
Slovem async
bývá uvozena funkce, která může dočasně vrátit řízení slovem await
.
. . . Async/await . . .
Následující umělý příklad v Pythonu ukazuje podprogram main
, který po vypsání „Jsem“ zastaví na vteřinu provádění, než vypíše „tady“. Zastaví je přitom asynchronně, tedy interpret může během oné vteřiny vykonávat jinou, zde nezobrazenou asynchronní část programu.
importasyncioasyncdefmain():print("Jsem")awaitasyncio.sleep(1)print("tady")asyncio.run(main())
V tomto článku byl použit překlad textu z článku Async/await na anglické Wikipedii.
- Vyšel Rust 1.39 s podporou async/await. Root.cz [online]. 2019-11-8. Dostupné online. ISSN1212-8309.
- Swift dostane async/await. Root.cz [online]. 2020-12-30. Dostupné online. ISSN1212-8309.
. . . Async/await . . .