Rumah >hujung hadapan web >tutorial js >Perjalanan Reaksi Saya: Hari 9
Apa yang Saya Pelajari Hari Ini:
Definisi: Pengaturcaraan tak segerak membenarkan JavaScript melaksanakan tugas tanpa menunggu tugasan sebelumnya selesai.
Kes Penggunaan: Membuat panggilan API atau operasi lain yang memakan masa.
Faedah: Meningkatkan kecekapan dengan membolehkan tugasan lain dijalankan sementara menunggu respons.
Negeri Janji:
Belum selesai: Keadaan awal, menunggu keputusan.
Selesai: Operasi berjaya.
Ditolak: Operasi gagal.
Kaedah:
.then(): Melaksanakan apabila janji telah diselesaikan.
.catch(): Melaksanakan apabila janji itu ditolak.
.finally(): Melaksanakan tanpa mengira sama ada janji itu diselesaikan atau ditolak.
Contoh janji
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."));
Contoh 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. Analogi Kehidupan Sebenar:
6.Janji.semua
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();
Sorotan
Setakat ini ia adalah perjalanan yang indah.
Hari 10 dengan api
Atas ialah kandungan terperinci Perjalanan Reaksi Saya: Hari 9. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!