2 komentářů k článku Dart ­– Streams:

  1. Jenda

    Eventy, deffredy, streamy
    Zdravím,
    tohle je v podstatě třetí druh zpracování asynchroních událostí na který jsem v poslední době narazil. Jsou tu Eventy, Defrredy (pokud vím, tak se také nazývá Features nebo Promises) a teď Streamy. Abych se přiznal tak moc nevím jaký je v tom rozdíl.
    Ve finále je to o tom, že mám nějaký objekt, do něho nějakým způsobem předám svojí funkci (callback) a ta se zavolá při dokončení operace. Vždycky můžu navěsit více callbacků které se zavolají. Někdy můžu navěsit také callback pro error. Nicméně základ mi přijde stejný.
    Proč je tolik druhů, jsou opravdu tak moc jiné?

    1. Ladislav Thon

      Re: Eventy, deffredy, streamy
      Future (též Promise) je _jedna_ asynchronně dodaná hodnota. Stream (též Observable v Reactive eXtensions) je _kolekce_ asynchronně dodaných hodnot. (Abychom si rozuměli: nedostanete celou kolekci najednou, ale dostáváte postupně jednotlivé její prvky, tak jak jsou dostupné.)

      Rozdíl mezi observables (ať už Future nebo Stream) a callbacky je v tom, že observables se dají rozumně _komponovat_. Článek to nezmiňuje, ale Futures i Streamy můžete různě filtrovat, transformovat a agregovat (filter, map, flatMap, reduce, atd.).

Napsat komentář

Tato diskuse je již příliš stará, pravděpodobně již vám nikdo neodpoví. Pokud se chcete na něco zeptat, použijte diskusní server Devel.cz

Zdroj: https://www.zdrojak.cz/?p=10019