Slide 1

Slide 1 text

@ P I E R R E B E S S O N &

Slide 2

Slide 2 text

@ P I E R R E B E S S O N • Architecte chez KleeGroup • JS depuis 5 ans environ • ~10 projets réalisés ou en cours utilisant Backbone @pierrebesson @pierr

Slide 3

Slide 3 text

C A L L B A C K H E L L

Slide 4

Slide 4 text

Q U ’ E S T C E Q U ’ U N E P R O M I S E ? P R O M I S E A +

Slide 5

Slide 5 text

V O U S E N U T I L I S E Z P R O B A B L E M E N T D A N S B A C K B O N E / J Q U E RY

Slide 6

Slide 6 text

Q U ’ E S T C E Q U ’ U N E P R O M I S E ? L E S G A R A N T I E S ? Promesse d’un traitement asynchrone Une promesse ne peut réussir qu’une seule fois Une promesse ne peut échouer qu’une seule fois

Slide 7

Slide 7 text

L E S É TAT S D ’ U N E P R O M I S E EN ATTENTE ACCOMPLIE REJETEE ETABLIE PENDING FULLFILED REJECTED SETTLED

Slide 8

Slide 8 text

E C R I R E U N E P R O M I S E

Slide 9

Slide 9 text

U N E P R O M I S E E S T “ T H E N A B L E ”

Slide 10

Slide 10 text

A P P L I C AT I O N À B A C K B O N E

Slide 11

Slide 11 text

V U E B A C K B O N E “ S I M P L E ” • Abonnement aux évènements • Callback comme propriété de la vue • Pas de visualisation claire de la séquence de fonctionnement

Slide 12

Slide 12 text

V U E B A C K B O N E “ P R O M I S I F I E D ” • Abonnement au “change” • Chaîne de traitement visible • Gestion d’erreur unique

Slide 13

Slide 13 text

M O D E L B A C K B O N E “ P R O M I S I F I E D ” A J O U T D ’ U N M A I L L O N D A N S L A C H A Î N E D E T R A I T E M E N T

Slide 14

Slide 14 text

S Y N C H R O N E = > A S Y N C H R O N E • Homogénisation des traitements • Les traitements synchrone peuvent être transformés en Promise. PROMISES

Slide 15

Slide 15 text

U T I L I S AT I O N À B O N E S C I E N T • Actions asynchrones dont on ne s’intéresse qu’au résultat • Les évènements sont pertinents pour les callbacks où il est nécessaire de passer à plusieurs reprise. • Maintenance du code • Facilité d’accès pour les dev non “JS” • Découpage du code dans des services R E T E X

Slide 16

Slide 16 text

E C M A S C R I P T 6 E S . N E X T H A R M O N Y N A T I V E ?

Slide 17

Slide 17 text

P R E T S ? N AV I G AT E U R S node —harmony

Slide 18

Slide 18 text

C O N C L U S I O N U T I L I S E Z D E S P R O M I S E S …

Slide 19

Slide 19 text

• Bluebird • RSVP • Q • When L I B R A I R I E S

Slide 20

Slide 20 text

• Article sur les promises https://gist.github.com/domenic/3889970 • http://spion.github.io/posts/why-i-am-switching-to-promises.html • mdn promises: https://developer.mozilla.org/fr/docs/Web/JavaScript/ Reference/Objets_globaux/Promise • html5rocks: http://www.html5rocks.com/en/tutorials/es6/promises/ • Cette présentation: L I E N S

Slide 21

Slide 21 text

Merci

Slide 22

Slide 22 text

T R A N S F O R M E R E N P R O M I S E • fetch • save • delete • validate

Slide 23

Slide 23 text

L O C A L S T O R A G E

Slide 24

Slide 24 text

C H A R G E M E N T E N M A S S E • Chargement parallèle de plusieurs données • Gestion d’erreur unique pour chaque chargement • Chaîne de traitement lisible • On ne s’intéresse qu’au résultat