Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Devoxx france 2014 - Promesses et Yield

  • Login to see the comments

  • Be the first to like this

Devoxx france 2014 - Promesses et Yield

  1. 1. @flornt#PromessesYield Promesses et Yield Les Future<?> de JavaScript ! Florent Le Gall ! @flornt ! !
  2. 2. @flornt#PromessesYield L’asynchronisme get /book/bookId Afficher la couverture Afficher le contenu get /url/to/content Avec la gestion des erreurs ! Et des resources !
  3. 3. @flornt#PromessesYield Avec des callbacks
  4. 4. @flornt#PromessesYield Avec des promesses
  5. 5. @flornt#PromessesYield Avec les générateurs
  6. 6. @flornt#PromessesYield Function * ! •C’est un générateur (ECMAScript 6) ! •Il permet de renvoyer un résultat partiel à la fonction appelante… •… et d’être rappelé par une autre valeur… •… mais c’est toujours asynchrone !
  7. 7. @flornt#PromessesYield Yield + Promesses ! ! On cède une promesse et on est rappelé avec le résultat
  8. 8. @flornt#PromessesYield On peut aussi faire l’inverse Convertir un générateur en promesse
  9. 9. @flornt#PromessesYield Oui, mais … … on ne peut utiliser yield que depuis un générateur Pour déléguer à un autre générateur
  10. 10. @flornt#PromessesYield Où l’utiliser ? ! • instable (0.11X) ! • 27 + ! • 30 + (en activant « Experimental JavaScript Features »)
  11. 11. @flornt#PromessesYield Quelques librairies JavaScript ! ! •TaskJS: http://taskjs.org ! •Q: https://github.com/kriskowal/q
  12. 12. @flornt#YourSessionHashtag Que choisir ? On expose un service asynchrone On utilise un service asynchrone Il vaut mieux renvoyer une promesse On peut utiliser un générateur pour consommer la promesse
  13. 13. @YourTwitterHandle#DVXFR14{session hashtag} @flornt#PromessesYield Pour résum er
  14. 14. @flornt#PromessesYield Yield c’est facile ! •Permet de simplifier la gestion des traitements asynchrones ! •Conserve l’asynchronisme de JavaScript ! •Si vous faites une API JS : renvoyez des promesses ! ! •Si vous consommez une API JS : utilisez yield !
  15. 15. @YourTwitterHandle#DVXFR14{session hashtag} @flornt#PromessesYield Q & A
  16. 16. @flornt#PromessesYield ! Merci !

×