Devoxx france 2014 - Promesses et Yield

1,545 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,545
On SlideShare
0
From Embeds
0
Number of Embeds
717
Actions
Shares
0
Downloads
12
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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 !

×