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), Swiftu 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.

Python 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.

import asyncio

async def main(): print("Jsem") await asyncio.sleep(1) print("tady")

asyncio.run(main())

Reference

Kategorie:Řízení běhu