Ich habe bereits ECMAScript 6- und ECMAScript 7-Funktionen (dank Babel) in meinen Anwendungen verwendet - sowohl für Mobilgeräte als auch für das Internet.
Der erste Schritt war offensichtlich die ECMAScript 6-Ebene. Ich habe viele asynchrone Muster gelernt, die Versprechen (die wirklich vielversprechend sind), Generatoren (nicht sicher, warum das * -Symbol) usw. Von diesen passten Versprechen ziemlich gut zu meinem Zweck. Und ich habe sie in meinen Anwendungen ziemlich oft verwendet.
Hier ist ein Beispiel / Pseudocode, wie ich ein grundlegendes Versprechen umgesetzt habe.
var myPromise = new Promise(
function (resolve,reject) {
var x = MyDataStore(myObj);
resolve(x);
});
myPromise.then(
function (x) {
init(x);
});
Als die Zeit verging, stieß ich auf ECMAScript 7 - Features und einer von ihnen ASYNC
und AWAIT
Schlüsselwörter / Funktionen. Diese zusammen bewirken große Wunder. Ich habe begonnen, einige meiner Versprechen durch zu ersetzen async & await
. Sie scheinen dem Programmierstil einen großen Mehrwert zu verleihen.
Auch hier ist ein Pseudocode, wie meine asynchrone Wartefunktion aussieht:
async function myAsyncFunction (myObj) {
var x = new MyDataStore(myObj);
return await x.init();
}
var returnVal = await myAsyncFunction(obj);
Abgesehen von den Syntaxfehlern (falls vorhanden) tun beide genau das, was ich fühle. Ich habe es fast geschafft, die meisten meiner Versprechen durch asynchrone zu ersetzen.
Warum ist Async, Warten erforderlich, wenn Versprechen einen ähnlichen Job machen?
Löst Async, Warten ein größeres Problem? Oder war es nur eine andere Lösung, um die Hölle zurückzurufen?
Wie ich bereits sagte, kann ich Versprechen verwenden und asynchron warten, um das gleiche Problem zu lösen. Gibt es etwas Spezielles, das asynchron gelöst werden kann?
Zusätzliche Bemerkungen:
Ich habe Async, Warten und Versprechen in meinen React-Projekten und Node.js-Modulen ausgiebig verwendet. Reagieren war besonders ein Frühaufsteher und hat viele Funktionen von ECMAScript 6 und ECMAScript 7 übernommen.