I Promise You

612 visualizações

Publicada em

A primeira coisa que te respondem quando você diz que trabalha com JavaScript é: "Ahh.. aquela linguagem do callback hell.. sei..".

Felizmente as Promises vieram ao resgate de diversas características e funcionalidade que perdemos ao trabalhar com procedimentos assíncronos.

Nesta palestra pretendo expor o que temos feito de errado, o que podemos fazer melhor, e como utilizar alguns patterns de Promises para ter uma melhor legibilidade e qualidade de código, tanto no FrontEnd quanto no BackEnd.

Publicada em: Software

I Promise You

  1. 1. I Promise you
  2. 2. William Bruno Desenvolvedor NodeJS http://wbruno.com.br/ http://github.com/wbruno wbrunom@gmail.com @wbrunom
  3. 3. - Eu trabalho com JavaScript! - Ahh, callback hell ne?! http://callbackhell.com
  4. 4. Callback It’s a function, that will be called when something is done.
  5. 5. Callback problems • Don’t have return • Don’t have throw • Nesting • No guarantees (flow, parallel)
  6. 6. Promises
  7. 7. Promise It’s a object, then some time in future will be full filed, or not.
  8. 8. Libs • https://github.com/kriskowal/q • https://github.com/cujojs/when • https://github.com/petkaantonov/bluebird http://programmers.stackexchange.com/questions/278778/why-are- native-es6-promises-slower-and-more-memory-intensive-than-bluebird
  9. 9. Node Pattern
  10. 10. One Ajax
  11. 11. Vanilla
  12. 12. jQuery
  13. 13. AngularJS
  14. 14. BackboneJS
  15. 15. Several Ajax
  16. 16. Callback
  17. 17. Promise
  18. 18. Where do we lost our souls?
  19. 19. Redemption
  20. 20. Reuse
  21. 21. A promise can return other promise A promise can return sync values One thenable can be reused
  22. 22. Bibliografia https://promisesaplus.com http://pouchdb.com/2015/05/18/we-have-a-problem-with-promises.html https://www.youtube.com/watch?v=hf1T_AONQJU https://www.youtube.com/watch?v=6hGvX4e69LI https://gist.github.com/domenic/3889970 https://github.com/wbruno/examples/tree/gh-pages/i-promise-you
  23. 23. Obrigado

×