Používáte to někdo? By mě zajímalo, proč okopírovali ten mizerný návrh korutin z C#.
Můžeš uvést příklad jazyka, kde je podle tebe lépe vyřešeno volání asynchronního kódu?
Kooperativní vícevláknovost je mnohem lépe vyřešena v Go, je plně transparentní a nemusí se zavádět async funkce. Vyžadovat psát async/await je zcela zbytečné, stejně jako používání Promise pro návratovou hodnotu. Jde o overengineering. Na druhou stranu to je o trochu lepší než callback hell.
Neznám Go, ale když mluvíme o asynchronním zpracování, tak nechápu proč zmiňujete vícevláknovost. Promise ani async await v JS ani C# nesouvisí ani nijak nepředpokládají jakékoli zapojení více vláken do běhu programu. Při async await v C# například funkce může běžet zcela synchronně, vše závisí na její interní implementaci.
Osobně si myslím, že to je ten problém. Bavíme se tu o asynchronních funkcích v JS, kdy potřebujete vědět, zda funkce doběhla a vznikla přitom výjimka, nebo ne. Při async await syntaxi toho docílíte tak, že nemusíte větvit funkce a řešit přepínání
this a kód syntakticky připomíná synchronní kód.
Async await navíc nepřejímá pouze JS, ale například i Python, Typescript a další.