Komentáře k článku

Sliby se maj plnit o Vánocích, promise v JavaScriptu nemusí

JavaScript je jazyk, ve kterém se dají bez problémů používat postupy z funkcionálního programování. Jedním takovým a hojně používaným je návrhový vzor promise. V článku projdeme stručně jeho historii, pak se podíváme na jeho vztah k monádám a na závěr ho porovnáme s callbackovým asynchronním API, které v současnosti používá především Node.js.

Zpět na článek

2 komentářů k článku Sliby se maj plnit o Vánocích, promise v JavaScriptu nemusí:

  1. honza

    Diky + dotazy na příklady
    Díky za zajímavý článek. S JS pracuji jen občas a když už tak používám callbacky – takže je zajímavé se dozvědět jak se to dá dělat jinak.
    Mám pár dotazů:

    urls.forEach(function (url, i) {
    var responses = [], done = 0;
    ajax(urls[i], function (response, error) {
        ...
    });
    

    Neměla by ta deklarace responses a done být před forEach? Vždyť se to takhle pro každé voláni ajaxu resetne, nebo ne?

    var list = function (promises) {
    var listPromise = new Promise();
    for (var k in listPromise) promises[k] = listPromise[k];
    

    Tomuhle moc nerozumím, jak vypadá ten objekt, který vrací volání new Promise()?
    Díky za odpvěď.

    1. Jan PrachařAutor příspěvku

      Re: Diky + dotazy na příklady
      S deklarací respones a done máte pravdu, opravíme.

      To druhé je jen jednoduchý hack, jak mít (v zájmu stručnosti) rozhraní Array a Promise na jednom objektu, tedy všechny property objektu listPromise nakopírujeme na pole promises. Promise může vypadat například takto.

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=10701