Heute wirst du lernen:
async/awaitPromise.all und Promise.raceAm Ende kannst du mehrere asynchrone Aufgaben effizient verwalten.
Verwende async-Funktionen mit await, um API-Daten zu holen:
async function fetchData() {
try {
const res = await fetch("https://jsonplaceholder.typicode.com/todos/1");
const data = await res.json();
console.log(data);
} catch(err) {
console.log("Fehler:", err);
}
}
fetchData();
Mehrere Promises parallel ausführen:
const p1 = fetch("https://jsonplaceholder.typicode.com/todos/1").then(r => r.json());
const p2 = fetch("https://jsonplaceholder.typicode.com/todos/2").then(r => r.json());
const p3 = fetch("https://jsonplaceholder.typicode.com/todos/3").then(r => r.json());
// Auf alle warten
Promise.all([p1, p2, p3]).then(results => console.log(results));
// Auf die schnellste Antwort warten
Promise.race([p1, p2, p3]).then(result => console.log(result));
async function fetchData() {
try {
const res = await fetch("https://jsonplaceholder.typicode.com/todos/1");
const data = await res.json();
console.log(data);
} catch(err) {
console.log("Fehler:", err);
}
}
fetchData();
Löse folgende Aufgaben:
Beispiel:
async function fetchMultiple() {
const urls = [
"https://jsonplaceholder.typicode.com/todos/1",
"https://jsonplaceholder.typicode.com/todos/2",
"https://jsonplaceholder.typicode.com/todos/3"
];
try {
const promises = urls.map(url => fetch(url).then(r => r.json()));
const results = await Promise.all(promises);
console.log(results);
} catch(err) {
console.log("Netzwerkfehler:", err);
}
}
fetchMultiple();