Rumah  >  Artikel  >  hujung hadapan web  >  Memahami Janji JavaScript: Panduan Pemula

Memahami Janji JavaScript: Panduan Pemula

PHPz
PHPzasal
2024-08-29 12:10:43361semak imbas

Understanding JavaScript Promises: A Beginner’s Guide

JavaScript ialah bahasa berkuasa yang digunakan secara meluas untuk pembangunan web, dan salah satu konsep penting untuk difahami dalam JavaScript moden ialah Promises. Jika anda pernah bergelut dengan kod tak segerak, panggil balik atau hanya mahu menulis kod yang lebih bersih dan lebih mudah dibaca, memahami Janji adalah satu kemestian. Dalam siaran ini, kami akan menyelami apa itu Janji, cara ia berfungsi dan cara anda boleh menggunakannya untuk mengendalikan operasi tak segerak dengan lebih berkesan.

Apakah Janji?

Dalam JavaScript, Janji ialah objek yang mewakili penyiapan (atau kegagalan) operasi tak segerak dan nilai yang terhasil. Ia seperti pemegang tempat untuk nilai masa hadapan yang akan diselesaikan sebaik sahaja operasi selesai.

Janji ialah peningkatan ketara berbanding kod tak segerak berasaskan panggilan balik tradisional, sering dirujuk sebagai "neraka panggil balik" kerana strukturnya yang sangat bersarang dan kesukaran untuk diurus.

Bagaimana Janji Berfungsi?

Janji boleh berada dalam salah satu daripada tiga keadaan:

  1. Belum selesai: Keadaan awal apabila Janji tidak ditepati atau ditolak.
  2. Ditepati: Keadaan apabila operasi berjaya diselesaikan, dan Janji diselesaikan dengan nilai.
  3. Ditolak: Keadaan apabila operasi gagal, dan Janji ditolak dengan sebab (ralat, contohnya).
let myPromise = new Promise((resolve, reject) => {
    let success = true; // Simulating an operation

    if (success) {
        resolve("The operation was successful!");
    } else {
        reject("The operation failed.");
    }
});

myPromise.then((message) => {
    console.log(message); // This will run if the Promise is fulfilled
}).catch((error) => {
    console.error(error); // This will run if the Promise is rejected
});

Dalam contoh di atas, "MyPromise" akan diselesaikan jika pembolehubah "kejayaan" adalah "benar" dan "tolak" jika "salah". Kaedah ".then()" digunakan untuk mengendalikan keadaan dipenuhi dan ".catch()" digunakan untuk mengendalikan sebarang ralat.

Merangkai Janji

Salah satu ciri Promises yang paling berkuasa ialah anda boleh merantainya bersama-sama. Ini membolehkan anda melakukan berbilang operasi tak segerak dalam urutan tanpa jatuh ke dalam neraka panggil balik.

myPromise
    .then((message) => {
        console.log(message);
        return new Promise((resolve, reject) => {
            resolve("Another operation completed!");
        });
    })
    .then((newMessage) => {
        console.log(newMessage);
    })
    .catch((error) => {
        console.error(error);
    });

Dalam contoh ini, ".then()" kedua dijalankan selepas Janji pertama dipenuhi, membolehkan aliran operasi tak segerak yang lancar dan boleh dibaca.

Mengendalikan Pelbagai Janji

Kadangkala, anda perlu menunggu beberapa operasi tak segerak selesai. Di sinilah "Promise.all()" dan "Promise.race()" berguna.

Promise.all()

Kaedah ini mengambil pelbagai Janji dan mengembalikan satu Janji yang diselesaikan apabila semua Janji dalam tatasusunan telah diselesaikan atau menolak jika mana-mana Janji menolak.

let promise1 = Promise.resolve("First operation");
let promise2 = Promise.resolve("Second operation");

Promise.all([promise1, promise2]).then((values) => {
    console.log(values); // ["First operation", "Second operation"]
});

Promise.race()

Promise.race() juga mengambil pelbagai Janji, tetapi ia mengembalikan Janji yang diselesaikan atau ditolak sebaik sahaja salah satu Janji dalam tatasusunan diselesaikan atau ditolak.

let promise1 = new Promise((resolve) => setTimeout(resolve, 500, "First operation"));
let promise2 = new Promise((resolve) => setTimeout(resolve, 100, "Second operation"));

Promise.race([promise1, promise2]).then((value) => {
    console.log(value); // "Second operation"
});

Kesimpulan

Janji telah menjadi asas pengaturcaraan tak segerak dalam JavaScript, membolehkan pembangun menulis kod yang lebih bersih dan lebih terurus. Dengan memahami cara membuat, merantai dan mengendalikan berbilang Janji, anda akan berjaya menguasai JavaScript tak segerak.

Jika anda baru menggunakan Promises, saya harap panduan ini membantu anda bermula. Semasa anda berlatih lebih banyak, anda akan mendapati Promises sebagai alat yang tidak ternilai dalam kit alat JavaScript anda.

Jangan ragu untuk berkongsi pendapat anda atau bertanya soalan dalam ulasan. Mari sambungkan kawan-kawan dan bina komuniti yang kuat.

Atas ialah kandungan terperinci Memahami Janji JavaScript: Panduan Pemula. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn