Ce que j'ai appris aujourd'hui :
Définition : La programmation asynchrone permet à JavaScript d'effectuer des tâches sans attendre la fin d'une tâche précédente.
Cas d'utilisation : effectuer des appels API ou d'autres opérations fastidieuses.
Avantage : améliore l'efficacité en permettant à d'autres tâches de s'exécuter en attendant une réponse.
États de promesses :
En attente : état initial, en attente du résultat.
Résolu : L'opération est réussie.
Rejeté : l'opération a échoué.
Méthodes :
.then() : s'exécute lorsque la promesse est résolue.
.catch() : s'exécute lorsque la promesse est rejetée.
.finally() : s'exécute, que la promesse soit résolue ou rejetée.
Exemple de promesses
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."));
Exemple d'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 réelle :
6.Promesse.tout
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();
Faits saillants
Jusqu'à présent, ça a été une belle balade.
Jour 10 avec le feu
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!