Rumah >hujung hadapan web >tutorial js >JavaScript kaedah .then / .when.
Hari ini, saya mengikuti tutorial WordPress, dan pengajar sedang menunjukkan cara mencari tapak menggunakan jQuery dan JavaScript, khususnya menggunakan kaedah .then() dan .when(). Semasa saya mengikutinya, saya menyedari bahawa saya tidak begitu biasa dengan kaedah ini seperti yang saya fikirkan.
Jadi, saya melakukan sedikit penyelidikan, mengambil beberapa nota dan menambahkannya pada buku nota Obsidian saya. Sejujurnya, nota itu agak kasar—ia kelihatan seperti sesuatu yang boleh disatukan oleh pelajar darjah lima dengan rentang perhatian tupai (yang, biarlah, kadangkala terasa seperti saya!).
Tetapi saya fikir, mengapa tidak berkongsinya? Jika mereka membantu walaupun seorang, ia berbaloi untuk disiarkan.
Anda berada di sekolah, dan anda serta rakan anda membuat janji antara satu sama lain. Janji-janji ini seperti berkata, "Saya akan menyiapkan kerja rumah saya, dan kemudian kita boleh bermain permainan."
Tetapi inilah perkaranya: kadangkala memerlukan sedikit masa untuk menyiapkan kerja rumah. Anda mungkin menghabiskannya dengan cepat, atau mungkin anjing anda memakannya, dan anda tidak pernah menghabiskannya (ops!). Janji JavaScript berfungsi dengan cara yang sama. Ia menunggu sesuatu berlaku, dan kemudian ia berkata, “Baiklah, apa seterusnya?”
Kaedah .then() adalah seperti apa yang anda akan lakukan selepas janji dilakukan. Bayangkan anda berkata kepada rakan anda:
Tetapi bagaimana jika anda tidak selesai? Eh-oh, anda boleh menambah pelan sandaran:
Begini cara anda mengatakan ini dalam JavaScript:
promiseToFinishHomework .then(() => { console.log("Yay! We can play games!"); // If you finished }) .catch(() => { console.log("Oh no! No games today!"); // If you didn’t finish });
Ini adalah seperti apabila anda sedang menunggu sekumpulan rakan anda untuk menyelesaikan kerja rumah mereka supaya anda semua boleh bermain bersama-sama. Anda seperti:
Dalam kehidupan sebenar, itu dipanggil bekerja bersama. Dalam JavaScript, anda menggunakan sesuatu yang dipanggil Promise.all() (yang sama seperti berkata "Mari kita tunggu semua orang bersedia!"):
Promise.all([friend1, friend2]).then(() => { console.log("We’re all done! Time to play!"); });
Jadi, JavaScript hanya memastikan ia mengetahui apa yang berlaku seterusnya apabila janji ditepati—atau dimungkiri! ?
Janji tidak menyemak kerja rumah dengan sendirinya. Anda beritahu! Apabila anda membuat janji, anda memutuskan sama ada ia diselesaikan atau ditolak berdasarkan sama ada tugas (seperti menyiapkan kerja rumah) selesai atau tidak. .then() berjalan apabila janji diselesaikan dan .catch() berjalan apabila ia ditolak.
Berikut ialah contoh penuh untuk melihatnya dalam tindakan:
let promiseToFinishHomework = new Promise((resolve, reject) => { let finishedHomework = true; // Change this to false to see the rejection if (finishedHomework) { resolve(); // Homework is done! } else { reject(); // Homework is not done! } }); promiseToFinishHomework .then(() => { console.log("Yay! We can play games!"); // If the promise resolves (homework done) }) .catch(() => { console.log("Oh no! No games today!"); // If the promise rejects (homework not done) });
Atas ialah kandungan terperinci JavaScript kaedah .then / .when.. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!