JavaScript FetchAPI Async Await?

yreffeJ  20.07.2022, 20:41

Ich verstehe nicht was das Problem ist, da funzt doch alles!

Was soll da anders sein?

gfdsgsdgsdg 
Beitragsersteller
 20.07.2022, 22:04

Das erste bild spuckt mir das erste in der Konsole aus.

Also

Promise{

promiseresult

} ich will aber nur das Promiseresult geloggt wird.

Das Hallo Welt gehört zum 3 bild.

1 Antwort

Die fetch-Funktion selbst liefert ein Promise, welches das Response-Objekt auflöst.

const response = await fetch("some URL ...");
console.log(response); // Response

Den Inhalt des Response Body auszulesen fordert allerdings noch einmal einen eigenen Prozess. Sowohl text-, als auch json-Methode liefern dir erneut ein Promise, welches erst aufgelöst werden muss.

const content = await response.text();
console.log(content);

Eine Kurzform wäre das Zusammenfassen beider Aufgaben:

const content = await fetch("some URL ...").then(response => response.text());
console.log(content);

gfdsgsdgsdg 
Beitragsersteller
 21.07.2022, 03:34

Danke, Jemand auf reddit hat mir noch eine elegantere version gezeigt ohne .then, das mag ich nicht so gerne

einfach ein eigenes await für den response

const response = await fetch(irgendwas)
Const text = await response.text()
console.log(text)
0
gfdsgsdgsdg 
Beitragsersteller
 21.07.2022, 12:14
@regex9

ich glaub ich sollte richtig lesen lernen und nicht direkt zum 3 code snippet springen

0