Oproti synchronnímu zápisu je výše uvedený zápis pomocí promisů delší a méně přehledný
Pokud se kód v článku dá zapsat i synchronně, pak na něm buď nic asynchronního není a nemá smysl ho zapisovat jako promise nebo asynchronní je a pak nemá význam psát ho synchronně. Nicméně součástí ES6 jsou i lambdy, takže zápis se dá podstatně zpřehlednit:
getJSON(cfgUrl)
.then(cfg => getJSON(cfg.dataUrl)
.then(data => alert(data))
.catch(e => /* osetrit chybu */);
Celkově mi výhrady v článku(explicitní označování asynchronních funkcí, zapomenutý return(?)) přijdou spíš trochu jako hnidopišství.
nemůžu napsat fci, která by vracela výsledek asynchronní operace
Mohl bych poprosit o konkrétnější příklad? Takhle popsané mi to připadá právě jako věc řešitelná pomocí generátorů/promises/async+await.