[2 了解JavaScript承諾
承諾是JavaScript中的一個強大功能,可以簡化處理異步操作的處理。它們提供了一種更清潔,更直觀的方式來處理異步代碼,避免了諸如“回調地獄”之類的問題。
是一個代表異步操作的最終完成(或失敗)及其結果值的對象。它使您可以通過鏈接操作和有效處理錯誤來編寫更易於管理的異步代碼。
諾言:初始狀態,既不實現也沒有拒絕。
拒絕
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 .then((result) => { console.log(result); return "Next Step"; }) .then((nextResult) => console.log(nextResult));
promise .then((result) => { console.log(result); return "Next Step"; }) .then((nextResult) => console.log(nextResult));
const promise1 = Promise.resolve(10); const promise2 = Promise.resolve(20); Promise.all([promise1, promise2]).then((results) => console.log(results));
promise .then((result) => { console.log(result); return "Next Step"; }) .then((nextResult) => console.log(nextResult));
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));
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));
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3