J'utilise déjà les fonctionnalités ECMAScript 6 et ECMAScript 7 (grâce à Babel) dans mes applications - mobiles et Web.
La première étape était évidemment les niveaux ECMAScript 6. J'ai appris de nombreux modèles asynchrones, les promesses (qui sont vraiment prometteuses), les générateurs (je ne sais pas pourquoi le symbole *), etc. Et je les utilise beaucoup dans mes applications.
Voici un exemple / pseudocode de la façon dont j'ai mis en œuvre une promesse de base -
var myPromise = new Promise(
function (resolve,reject) {
var x = MyDataStore(myObj);
resolve(x);
});
myPromise.then(
function (x) {
init(x);
});
Au fil du temps, je suis tombé sur ECMAScript 7 caractéristiques, et l' un d'entre eux étant ASYNC
et AWAIT
mots - clés / fonctions. Tout cela fait de grandes merveilles. J'ai commencé à remplacer certaines de mes promesses par async & await
. Ils semblent ajouter une grande valeur au style de programmation.
Encore une fois, voici un pseudo-code de l'apparence de ma fonction async, wait -
async function myAsyncFunction (myObj) {
var x = new MyDataStore(myObj);
return await x.init();
}
var returnVal = await myAsyncFunction(obj);
En gardant de côté les erreurs de syntaxe (le cas échéant), les deux font exactement la même chose, c'est ce que je ressens. J'ai presque pu remplacer la plupart de mes promesses par async, attend.
Pourquoi async, wait est-il nécessaire lorsque les promesses font un travail similaire?
Async, wait résout-il un problème plus important? Ou était-ce juste une solution différente pour l'enfer des rappels?
Comme je l'ai dit plus tôt, je suis capable d'utiliser les promesses et l'asynchrone, en attendant de résoudre le même problème. Y a-t-il quelque chose de spécifique que l'async attend d'être résolu?
Notes complémentaires:
J'ai beaucoup utilisé async, attend et promet dans mes projets React et les modules Node.js. React a surtout été un précurseur et a adopté de nombreuses fonctionnalités ECMAScript 6 et ECMAScript 7.