Pubblicato il Lascia un commento

Async and Defere

script-async-defere

 

fonte: http://www.growingwiththeweb.com/2014/02/async-vs-defer-attributes.html

 

 

PROMESSE

Una soluzione alla caratteristica single-threaded di Javascript, è l’introduzione delle “promesse” (promise, a volte anche future, delay o deferred).
NB: attualmente credo siano diventate native javascript, in ogni caso si può utilizzare la libreria Q, ma anche integrate in jQuery e AngularJS.

Problemi tipici di javascript in modo asincrono:

  • Pyramid of Doom (o Callback Hell), scarsa leggibilità dovuta alle troppe indentazioni delle callback
  • difficoltà a comporre le callback e sincronizzare il flusso di elaborazione
  • difficoltà gestione errori e debug, soprattutto con callback anonime; non potendo la funzione chiamante gestire quelli della callback.

Stati delle promise:

  1. pending non è stato ancora ottenuto il risultato della chiamata asincrona
  2. resolved (o fullfilled) chiamata asincrona ha prodotto un risultato
  3. rejected non è possibile ottenere un risultato dalla chiamata asincrona, eventualmente per gestire condizioni d’errore

fonte: http://www.html.it/articoli/javascript-asincrono-le-promise-e-la-libreria-q/

fonte: http://www.html.it/pag/48472/il-pattern-promise-per-le-operazioni-asincrone/

fonte: http://codingjam.it/i-miei-primi-passi-con-node-js-ed-express-js/

fonte: https://developers.google.com/web/fundamentals/getting-started/primers/promises