@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 !
Upcoming SlideShare
Loading in...5
×

Devoxx france 2014 - Promesses et Yield

1,168

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,168
On Slideshare
0
From Embeds
0
Number of Embeds
33
Actions
Shares
0
Downloads
4
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 !
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×