Rumah >hujung hadapan web >tutorial js >Pumble Dalam JavaScript
Janji ialah ciri berkuasa dalam JavaScript yang memudahkan pengendalian operasi tak segerak. Mereka menyediakan cara yang lebih bersih dan lebih intuitif untuk berfungsi dengan kod async, mengelakkan isu seperti "neraka panggilan balik".
A Janji ialah objek yang mewakili penyiapan (atau kegagalan) operasi tak segerak dan nilai yang terhasil. Ia membolehkan anda menulis kod tak segerak yang lebih terurus dengan merantai operasi dan mengendalikan ralat dengan berkesan.
Janji mempunyai tiga keadaan:
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));
Perantaian membolehkan pengendalian berbilang operasi tak segerak mengikut turutan.
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));
Ralat merebak melalui rantai janji sehingga ditangkap oleh blok tangkapan().
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));
Anda boleh meneroka kes penggunaan Promises dalam kehidupan sebenar yang terperinci di sini:
JavaScript Promises menyediakan cara yang mantap untuk mengendalikan operasi tak segerak dengan kejelasan dan kecekapan. Dengan menguasai janji, anda boleh menulis kod yang lebih bersih, lebih boleh diselenggara dan mengelakkan perangkap seperti neraka panggil balik. Mula berlatih dengan kaedah dan contoh di atas, dan anda akan berjaya menguasai JavaScript tak segerak!
Atas ialah kandungan terperinci Pumble Dalam JavaScript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!