@flornt#PromessesYield
Promesses et Yield
Les Future<?> de JavaScript
!
Florent Le Gall
!
@flornt
!
!
@flornt#PromessesYield
L’asynchronisme
get /book/bookId
Afficher la couverture
Afficher le contenu
get /url/to/content
Avec ...
@flornt#PromessesYield
Avec des callbacks
@flornt#PromessesYield
Avec des promesses
@flornt#PromessesYield
Avec les générateurs
@flornt#PromessesYield
Function *
!
•C’est un générateur (ECMAScript 6)
!
•Il permet de renvoyer un résultat partiel à la ...
@flornt#PromessesYield
Yield + Promesses
!
!
On cède une promesse et on est rappelé avec le résultat
@flornt#PromessesYield
On peut aussi faire l’inverse
Convertir un générateur en promesse
@flornt#PromessesYield
Oui, mais …
… on ne peut utiliser yield que depuis un générateur
Pour déléguer à un autre générateur
@flornt#PromessesYield
Où l’utiliser ?
!
• instable (0.11X)
!
• 27 +
!
• 30 + (en activant « Experimental JavaScript
Featu...
@flornt#PromessesYield
Quelques librairies JavaScript
!
!
•TaskJS: http://taskjs.org
!
•Q: https://github.com/kriskowal/q
@flornt#YourSessionHashtag
Que choisir ?
On expose un service
asynchrone
On utilise un service
asynchrone
Il vaut mieux re...
@YourTwitterHandle#DVXFR14{session hashtag} @flornt#PromessesYield
Pour
résum
er
@flornt#PromessesYield
Yield c’est facile !
•Permet de simplifier la gestion des traitements
asynchrones
!
•Conserve l’asy...
@YourTwitterHandle#DVXFR14{session hashtag} @flornt#PromessesYield
Q
&
A
@flornt#PromessesYield
!
Merci !
Prochain SlideShare
Chargement dans…5
×

Devoxx france 2014 - Promesses et Yield

1 528 vues

Publié le

0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
1 528
Sur SlideShare
0
Issues des intégrations
0
Intégrations
717
Actions
Partages
0
Téléchargements
11
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

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 !

×