JavaScript -Versprechen bieten eine robuste Möglichkeit, mit Klarheit und Effizienz mit asynchronen Operationen umzugehen. Durch das Beherrschen von Versprechen können Sie sauberere, wartbarere Code schreiben und Fallstricke wie Callback -Hölle vermeiden. Beginnen Sie mit den oben genannten Methoden und Beispielen, und Sie werden auf dem besten Weg sind, asynchrone JavaScript zu beherrschen!
","image":"http://www.luping.net/uploads/20250206/173884321667a4a4500cc53.jpg173884321667a4a4500cc5e.jpg","datePublished":"2025-02-06T20:51:32+08:00","dateModified":"2025-02-06T20:51:32+08:00","author":{"@type":"Person","name":"luping.net","url":"https://www.luping.net/articlelist/0_1.html"}}
Versprechen sind ein leistungsstarkes Merkmal in JavaScript, das den Umgang mit asynchronen Operationen vereinfacht. Sie bieten einen saubereren und intuitiveren Weg, um mit asynchronen Code zu arbeiten, um Probleme wie "Callback Hell" zu vermeiden.
a versprachen ist ein Objekt, das den eventuellen Abschluss (oder das Misserfolg) einer asynchronen Operation und ihren resultierenden Wert darstellt. Sie ermöglicht es Ihnen, überschaubarere asynchronen Code zu schreiben, indem Sie Operationen und Fehler effektiv behandeln.
Ein Versprechen hat drei Staaten:
const promise = new Promise((resolve, reject) => { let success = true; // Change to false to simulate rejection if (success) { resolve("Operation was successful!"); } else { reject("Operation failed."); } }); promise .then((result) => console.log(result)) .catch((error) => console.error(error));
promise .then((result) => { console.log(result); return "Next Step"; }) .then((nextResult) => console.log(nextResult));
promise.catch((error) => console.error(error));
promise.finally(() => console.log("Cleanup actions."));
const promise1 = Promise.resolve(10); const promise2 = Promise.resolve(20); Promise.all([promise1, promise2]).then((results) => console.log(results));
const promise1 = Promise.resolve("Success"); const promise2 = Promise.reject("Error"); Promise.allSettled([promise1, promise2]).then((results) => console.log(results));
const promise1 = new Promise((resolve) => setTimeout(resolve, 500, "One")); const promise2 = new Promise((resolve) => setTimeout(resolve, 100, "Two")); Promise.race([promise1, promise2]).then((result) => console.log(result));
const promise1 = Promise.reject("Error 1"); const promise2 = Promise.resolve("Success"); const promise3 = Promise.reject("Error 2"); Promise.any([promise1, promise2, promise3]).then((result) => console.log(result));
Das Ketten ermöglicht das Umgang mit mehreren asynchronen Operationen nacheinander.
fetch("https://api.example.com/data") .then((response) => response.json()) .then((data) => { console.log(data); return fetch("https://api.example.com/other-data"); }) .then((otherResponse) => otherResponse.json()) .then((otherData) => console.log(otherData)) .catch((error) => console.error("Error:", error));
Fehler propagieren durch die Versprechenkette, bis ein Catch () Block gefangen wird.
fetch("https://api.example.com/data") .then((response) => { if (!response.ok) throw new Error("Network response was not ok"); return response.json(); }) .then((data) => console.log(data)) .catch((error) => console.error("Error:", error));
Sie können hier einen detaillierten realen Anwendungsfall von Versprechen untersuchen:
JavaScript -Versprechen bieten eine robuste Möglichkeit, mit Klarheit und Effizienz mit asynchronen Operationen umzugehen. Durch das Beherrschen von Versprechen können Sie sauberere, wartbarere Code schreiben und Fallstricke wie Callback -Hölle vermeiden. Beginnen Sie mit den oben genannten Methoden und Beispielen, und Sie werden auf dem besten Weg sind, asynchrone JavaScript zu beherrschen!
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3