async await vs. fetch
bearbeitet von
Hallo Konrad,
async/await ist letztlich Sytaxzucker für Promises mit .then. Vorteil von then ist, dass man keine async-Funktion erstellen muss und den Code auch "einfach so" laufen lassen kann. Nachteil ist die kompliziertere Programmstruktur.
~~~js
function getData(url) {
fetch(url)
.then(response => response.text())
.then(text => /* Text ins DOM stellen */)
}
async function getDataAsync(url) {
let response = await fetch(url);
let text = await response.text();
// Text ins DOM stellen
}
~~~
tut FAST beides das Gleiche.
Die async-Funktion liefert wiederum ein Promise zurück, allerdings eins, das zu `undefined` resolved, weil die Funktion kein return-Statement enthält. Aber du kannst drauf warten, dass sie fertig ist.
Die nicht-async-Funktion tut das nicht, dafür müsstest Du "return fetch ..." schreiben.
Und natürlich fehlt beiden Funktionen die Fehlerbehandlung. In der await-Version lässt sich die lesbarer einbauen. Find ich.
_Rolf_
--
sumpsi - posui - obstruxi