Hello,
J'arrive après la bataille, mais je voulais tout de même donner mon avis sur deux petits points.
Déjà, c'est un bon tuto, pas de souci là-dessus. J'aurais bien aimé l'avoir quand j'ai dû apprendre les promesses il y a quelques mois.
Premier point, je pense que ça aurait été intéressant de dire que ce système de promesses est inspiré d'AngularJS, qui propose déjà ce système, pour la culture, et pour que les gens qui connaissent ne soient pas perdus.
Deuxième point, qui est plus une question de noob de ma part, est-ce qu'un des buts des promesses n'est pas de pouvoir se baser sur des valeurs obtenues de façon asynchrone ? Je me souviens quand je faisais des requêtes sur du SQLite en Angularjs, j'usais et abusais des promesses. Après, peut-être que je codais comme un porc, c'est une possibilité que je n'exclus pas
Dernier point (j'ai menti en disant qu'il n'y avait que deux points, mouhaha), j'ai repéré quelques fautes, si tu veux je peux faire une relecture ce week-end et te MP ce que je trouve
Ce serait pas plutôt l'inverse ? Parce qu'Angular reste plutôt récent par rapport à ES6, quand même.
Hmm, je t'avoue que j'ai dit ça de mémoire, je suis quasiment sûr d'avoir lu un article qui disait qu'ECMAScript6 s'inspirait d'Angular sur ce point. Cela dit, en investissant un peu plus, je pense plutôt que j'ai rêvé. My bad.
Je comprends pas trop ta seconde question : tu peux détailler ?
En lisant ton tutoriel, je trouve que tu parles des avantages concernant le dés-imbrication des appels asynchrones, mais pas vraiment du fait que ça permet de récupérer le résultat de ces requêtes asynchrones. Par exemple, quand je faisais mes requêtes SQL au début, j'avais, en simplifiant à mort, une fonction select(table) qui faisait return SQL.query('SELECT * from ' + table);, et que j'appelais à plusieurs endroits du code avec var result = SQL.select('matable'). Du coup bah ça marchait pas parce que c'était asynchrone.
Les promesses m'ont permis de régler le problème sans avoir à me servir des callbacks de mes requêtes SQL. En effet, mes requêtes étaient dans un fichier, mon code dans un autre et je n'avais surtout pas envie de tout commencer à mélanger. Donc avec les promesses, j'ai pu faire
1
2
3
4
5
6
// Du blabla avantvarpromise=SQL.select('matable');promise.then(function(results){// Du blabla après})
Sachant que mes select résolvaient tout comme il fallait bien.
D'où ce que je disais dans mon dernier message : les promesses m'ont permis de bien obtenir mon résultat asynchrone, sans passer par les callbacks.
Maintenant, est-ce que c'est la bonne méthode, je ne sais pas (comme je disais, je suis un peu un noob en JS).