SlideShare una empresa de Scribd logo
1 de 10
Descargar para leer sin conexión
@flornt#AsynchronismesJS
Asynchronismes en
JavaScript
Florent Le Gall
@flornt
Xebia
@flornt#AsynchronismesJS
L’asynchronisme en JS
• Les callbacks : À éviter!
• “Pyramid of doom”
• Gestion des erreurs
difficile
@flornt#AsynchronismesJS
L’asynchronisme en JS
• Les promesses:
• Permet de chaîner les
appels en renvoyant une
autre promesse
• Et de gérer les erreurs
simplement
• Pur JS : Disponible
partout
@flornt#AsynchronismesJS
L’asynchronisme en JS
• Yield
• Détourne la sémantique
des générateurs pour
gérer l’asynchronisme
• ECMAScript 6 Only
• Pas de traitement en
parallèle !
@flornt#AsynchronismesJS
Gérer les promesses
• Q.JS
• Implémente la spécification Promises A+
• Très populaire en 2014
• Angular introduit une version simplifiée $q
@flornt#AsynchronismesJS
Gérer les promesses
• BlueBird
• Implémente la spécification Promises A+
• Propose une API similaire à celles des promesses ECMA 6
• De meilleurs performances par rapport à Q
• Innovations liées à la programmation fonctionnelle
@YourTwitterHandle@YourTwitterHandle@flornt#AsynchronismesJS
Live coding !
https://github.com/flegall/asynchronismes
@YourTwitterHandle@YourTwitterHandle@flornt#AsynchronismesJS
Conclusion
@flornt#AsynchronismesJS
Conclusion
• BlueBird est la librairie de gestion de promesses la plus aboutie
à ce jour
• Les apports fonctionnels se marient plutôt bien avec le
JavaScript
• Le paramètre concurrency n’est pas un pool de threads
@YourTwitterHandle@YourTwitterHandle@flornt#AsynchronismesJS
Q & R

Más contenido relacionado

Destacado

Expression Orale
Expression OraleExpression Orale
Expression Orale
Jenna Goh
 
Curriculum vitae 2013_MacKenzie Underwood
Curriculum vitae 2013_MacKenzie UnderwoodCurriculum vitae 2013_MacKenzie Underwood
Curriculum vitae 2013_MacKenzie Underwood
MacKenzie Underwood
 
Gisele Bessac "Territoire en résidence" et "Maisons ouvertes"
Gisele Bessac "Territoire en résidence" et "Maisons ouvertes"Gisele Bessac "Territoire en résidence" et "Maisons ouvertes"
Gisele Bessac "Territoire en résidence" et "Maisons ouvertes"
Fing
 
PréSentation 21.01.09 Rki
PréSentation 21.01.09 RkiPréSentation 21.01.09 Rki
PréSentation 21.01.09 Rki
guestcd1b8
 
Les arg / définition et historique. Forum Media 2010 Marseille
Les arg /  définition et historique. Forum Media 2010 MarseilleLes arg /  définition et historique. Forum Media 2010 Marseille
Les arg / définition et historique. Forum Media 2010 Marseille
Julien Aubert
 
Open XKE - Kanban à grande échelle par Yannick Quenec'hdu et Couthaïer Farfra
Open XKE - Kanban à grande échelle par Yannick Quenec'hdu et Couthaïer FarfraOpen XKE - Kanban à grande échelle par Yannick Quenec'hdu et Couthaïer Farfra
Open XKE - Kanban à grande échelle par Yannick Quenec'hdu et Couthaïer Farfra
Publicis Sapient Engineering
 
Mr. Le PréSident
Mr. Le PréSidentMr. Le PréSident
Mr. Le PréSident
guest2c40cf
 

Destacado (20)

Expression Orale
Expression OraleExpression Orale
Expression Orale
 
Curriculum vitae 2013_MacKenzie Underwood
Curriculum vitae 2013_MacKenzie UnderwoodCurriculum vitae 2013_MacKenzie Underwood
Curriculum vitae 2013_MacKenzie Underwood
 
Portfolio Martin Anaïs
Portfolio Martin AnaïsPortfolio Martin Anaïs
Portfolio Martin Anaïs
 
Carrefour des Possibles processus 2014
Carrefour des Possibles processus 2014Carrefour des Possibles processus 2014
Carrefour des Possibles processus 2014
 
Paradigmas de Constantine
Paradigmas de ConstantineParadigmas de Constantine
Paradigmas de Constantine
 
Gisele Bessac "Territoire en résidence" et "Maisons ouvertes"
Gisele Bessac "Territoire en résidence" et "Maisons ouvertes"Gisele Bessac "Territoire en résidence" et "Maisons ouvertes"
Gisele Bessac "Territoire en résidence" et "Maisons ouvertes"
 
Dispositif ALE
Dispositif ALEDispositif ALE
Dispositif ALE
 
PréSentation 21.01.09 Rki
PréSentation 21.01.09 RkiPréSentation 21.01.09 Rki
PréSentation 21.01.09 Rki
 
Les bases du webmarketing
Les bases du webmarketingLes bases du webmarketing
Les bases du webmarketing
 
Bootcamp Irapuato Welcome
Bootcamp Irapuato WelcomeBootcamp Irapuato Welcome
Bootcamp Irapuato Welcome
 
Les arg / définition et historique. Forum Media 2010 Marseille
Les arg /  définition et historique. Forum Media 2010 MarseilleLes arg /  définition et historique. Forum Media 2010 Marseille
Les arg / définition et historique. Forum Media 2010 Marseille
 
Open XKE - Kanban à grande échelle par Yannick Quenec'hdu et Couthaïer Farfra
Open XKE - Kanban à grande échelle par Yannick Quenec'hdu et Couthaïer FarfraOpen XKE - Kanban à grande échelle par Yannick Quenec'hdu et Couthaïer Farfra
Open XKE - Kanban à grande échelle par Yannick Quenec'hdu et Couthaïer Farfra
 
Articulos Alta Resolucion
Articulos Alta ResolucionArticulos Alta Resolucion
Articulos Alta Resolucion
 
Iexpro ensayo la adinistracion
Iexpro ensayo la adinistracionIexpro ensayo la adinistracion
Iexpro ensayo la adinistracion
 
Presentation XKE Mars2012
Presentation XKE Mars2012 Presentation XKE Mars2012
Presentation XKE Mars2012
 
Segundio debate Ley del COOTAD
Segundio debate Ley del COOTADSegundio debate Ley del COOTAD
Segundio debate Ley del COOTAD
 
Press reviews
Press reviewsPress reviews
Press reviews
 
Idris MEZABER - CV
Idris MEZABER - CVIdris MEZABER - CV
Idris MEZABER - CV
 
Mr. Le PréSident
Mr. Le PréSidentMr. Le PréSident
Mr. Le PréSident
 
1000 Palabras
1000 Palabras1000 Palabras
1000 Palabras
 

Más de Publicis Sapient Engineering

Más de Publicis Sapient Engineering (20)

XebiCon'18 - L'algorithme de reconnaissance de formes par le cerveau humain
XebiCon'18 - L'algorithme de reconnaissance de formes par le cerveau humainXebiCon'18 - L'algorithme de reconnaissance de formes par le cerveau humain
XebiCon'18 - L'algorithme de reconnaissance de formes par le cerveau humain
 
Xebicon'18 - IoT: From Edge to Cloud
Xebicon'18 - IoT: From Edge to CloudXebicon'18 - IoT: From Edge to Cloud
Xebicon'18 - IoT: From Edge to Cloud
 
Xebicon'18 - Spark in jail : conteneurisez vos traitements data sans serveur
Xebicon'18 - Spark in jail : conteneurisez vos traitements data sans serveurXebicon'18 - Spark in jail : conteneurisez vos traitements data sans serveur
Xebicon'18 - Spark in jail : conteneurisez vos traitements data sans serveur
 
XebiCon'18 - Modern Infrastructure
XebiCon'18 - Modern InfrastructureXebiCon'18 - Modern Infrastructure
XebiCon'18 - Modern Infrastructure
 
XebiCon'18 - La Web App d'aujourd'hui et de demain : état de l'art et bleedin...
XebiCon'18 - La Web App d'aujourd'hui et de demain : état de l'art et bleedin...XebiCon'18 - La Web App d'aujourd'hui et de demain : état de l'art et bleedin...
XebiCon'18 - La Web App d'aujourd'hui et de demain : état de l'art et bleedin...
 
XebiCon'18 - Des notebook pour le monitoring avec Zeppelin
XebiCon'18 - Des notebook pour le monitoring avec Zeppelin XebiCon'18 - Des notebook pour le monitoring avec Zeppelin
XebiCon'18 - Des notebook pour le monitoring avec Zeppelin
 
XebiCon'18 - Event Sourcing et RGPD, incompatibles ?
XebiCon'18 - Event Sourcing et RGPD, incompatibles ?XebiCon'18 - Event Sourcing et RGPD, incompatibles ?
XebiCon'18 - Event Sourcing et RGPD, incompatibles ?
 
XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?
XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?
XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?
 
XebiCon'18 - Boostez vos modèles avec du Deep Learning distribué
XebiCon'18 - Boostez vos modèles avec du Deep Learning distribuéXebiCon'18 - Boostez vos modèles avec du Deep Learning distribué
XebiCon'18 - Boostez vos modèles avec du Deep Learning distribué
 
XebiCon'18 - Comment j'ai développé un jeu vidéo avec des outils de développe...
XebiCon'18 - Comment j'ai développé un jeu vidéo avec des outils de développe...XebiCon'18 - Comment j'ai développé un jeu vidéo avec des outils de développe...
XebiCon'18 - Comment j'ai développé un jeu vidéo avec des outils de développe...
 
XebiCon'18 - Les utilisateurs finaux, les oubliés de nos produits !
XebiCon'18 - Les utilisateurs finaux, les oubliés de nos produits !XebiCon'18 - Les utilisateurs finaux, les oubliés de nos produits !
XebiCon'18 - Les utilisateurs finaux, les oubliés de nos produits !
 
XebiCon'18 - Comment fausser l'interprétation de vos résultats avec des dataviz
XebiCon'18 - Comment fausser l'interprétation de vos résultats avec des datavizXebiCon'18 - Comment fausser l'interprétation de vos résultats avec des dataviz
XebiCon'18 - Comment fausser l'interprétation de vos résultats avec des dataviz
 
XebiCon'18 - Le développeur dans la Pop Culture
XebiCon'18 - Le développeur dans la Pop Culture XebiCon'18 - Le développeur dans la Pop Culture
XebiCon'18 - Le développeur dans la Pop Culture
 
XebiCon'18 - Architecturer son application mobile pour la durabilité
XebiCon'18 - Architecturer son application mobile pour la durabilitéXebiCon'18 - Architecturer son application mobile pour la durabilité
XebiCon'18 - Architecturer son application mobile pour la durabilité
 
XebiCon'18 - Sécuriser son API avec OpenID Connect
XebiCon'18 - Sécuriser son API avec OpenID ConnectXebiCon'18 - Sécuriser son API avec OpenID Connect
XebiCon'18 - Sécuriser son API avec OpenID Connect
 
XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...
XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...
XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...
 
XebiCon'18 - Spark NLP, un an après
XebiCon'18 - Spark NLP, un an aprèsXebiCon'18 - Spark NLP, un an après
XebiCon'18 - Spark NLP, un an après
 
XebiCon'18 - La sécurité, douce illusion même en 2018
XebiCon'18 - La sécurité, douce illusion même en 2018XebiCon'18 - La sécurité, douce illusion même en 2018
XebiCon'18 - La sécurité, douce illusion même en 2018
 
XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...
XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...
XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...
 
XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...
XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...
XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...
 

Asynchronismes en JavaScript - Devoxx 2015