SlideShare ist ein Scribd-Unternehmen logo
1 von 10
Downloaden Sie, um offline zu lesen
@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

Weitere ähnliche Inhalte

Andere mochten auch

Expression Orale
Expression OraleExpression Orale
Expression OraleJenna Goh
 
Curriculum vitae 2013_MacKenzie Underwood
Curriculum vitae 2013_MacKenzie UnderwoodCurriculum vitae 2013_MacKenzie Underwood
Curriculum vitae 2013_MacKenzie UnderwoodMacKenzie Underwood
 
Portfolio Martin Anaïs
Portfolio Martin AnaïsPortfolio Martin Anaïs
Portfolio Martin AnaïsAnais_Martin_
 
Carrefour des Possibles processus 2014
Carrefour des Possibles processus 2014Carrefour des Possibles processus 2014
Carrefour des Possibles processus 2014Fing
 
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 Rkiguestcd1b8
 
Les bases du webmarketing
Les bases du webmarketingLes bases du webmarketing
Les bases du webmarketingCibleWeb
 
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 MarseilleJulien 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 FarfraPublicis Sapient Engineering
 
Articulos Alta Resolucion
Articulos Alta ResolucionArticulos Alta Resolucion
Articulos Alta Resolucionjpnaye
 
Iexpro ensayo la adinistracion
Iexpro ensayo la adinistracionIexpro ensayo la adinistracion
Iexpro ensayo la adinistracionReyna Gonzalez
 
Segundio debate Ley del COOTAD
Segundio debate Ley del COOTADSegundio debate Ley del COOTAD
Segundio debate Ley del COOTADAsamblea Nacional
 
Mr. Le PréSident
Mr. Le PréSidentMr. Le PréSident
Mr. Le PréSidentguest2c40cf
 
1000 Palabras
1000 Palabras1000 Palabras
1000 Palabrasstocker
 

Andere mochten auch (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
 

Mehr von Publicis Sapient Engineering

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 humainPublicis Sapient Engineering
 
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 serveurPublicis Sapient Engineering
 
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...Publicis Sapient Engineering
 
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 Publicis Sapient Engineering
 
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 ?Publicis Sapient Engineering
 
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 ?Publicis Sapient Engineering
 
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éPublicis Sapient Engineering
 
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...Publicis Sapient Engineering
 
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 !Publicis Sapient Engineering
 
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 datavizPublicis Sapient Engineering
 
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éPublicis Sapient Engineering
 
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 ConnectPublicis Sapient Engineering
 
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...Publicis Sapient Engineering
 
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 2018Publicis Sapient Engineering
 
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...Publicis Sapient Engineering
 
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...Publicis Sapient Engineering
 

Mehr von 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