Was ich heute gelernt habe:
Definition: Asynchrone Programmierung ermöglicht es JavaScript, Aufgaben auszuführen, ohne auf den Abschluss einer vorherigen Aufgabe warten zu müssen.
Anwendungsfall: API-Aufrufe oder andere zeitaufwändige Vorgänge durchführen.
Vorteil: Verbessert die Effizienz, da andere Aufgaben ausgeführt werden können, während auf eine Antwort gewartet wird.
Zustände der Versprechen:
Ausstehend: Ausgangszustand, Warten auf das Ergebnis.
Gelöst: Der Vorgang war erfolgreich.
Abgelehnt: Der Vorgang ist fehlgeschlagen.
Methoden:
.then(): Wird ausgeführt, wenn das Versprechen aufgelöst wird.
.catch(): Wird ausgeführt, wenn das Versprechen abgelehnt wird.
.finally(): Wird unabhängig davon ausgeführt, ob das Versprechen gelöst oder abgelehnt wird.
Beispiel für Versprechen
const fetchData = () => { return new Promise((resolve, reject) => { let success = true; // Simulating success or failure setTimeout(() => { success ? resolve("Data fetched!") : reject("Failed to fetch data."); }, 2000); }); }; fetchData() .then((data) => console.log(data)) // Output: Data fetched! .catch((error) => console.error(error)) .finally(() => console.log("Operation completed."));
Beispiel für Async/Await:
const fetchDataAsync = async () => { try { const data = await fetchData(); // Wait for the promise to resolve console.log(data); // Output: Data fetched! } catch (error) { console.error(error); } finally { console.log("Operation completed."); } }; fetchDataAsync();
5. Analogie zum realen Leben:
6.Promise.all
const promise1 = Promise.resolve("Task 1 completed"); const promise2 = Promise.resolve("Task 2 completed"); Promise.all([promise1, promise2]) .then((results) => console.log(results)) // Output: ["Task 1 completed", "Task 2 completed"] .catch((error) => console.error(error));
const fetchDataFromAPI = async () => { try { const response = await fetch("https://jsonplaceholder.typicode.com/posts"); const data = await response.json(); console.log(data); } catch (error) { console.error("Error fetching data:", error); } }; fetchDataFromAPI();
Highlights
Bisher war es eine wunderschöne Fahrt.
Tag 10 mit Feuer
Das obige ist der detaillierte Inhalt vonMeine Reaktionsreise: Tag 9. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!