今天,我正在學習 WordPress 教學課程,講師正在示範如何使用 jQuery 和 JavaScript 搜尋網站,特別是使用 .then() 和 .when() 方法。隨著我的跟進,我發現我對這些方法並沒有我想像的那麼熟悉。
所以,我做了一些研究,做了一些筆記,並將它們添加到我的黑曜石筆記本中。說實話,這些筆記有點粗糙——它們看起來就像是五年級學生用松鼠的注意力拼湊出來的東西(讓我們面對現實吧,有時感覺就像我一樣!)。
但我想,為什麼不分享它們呢?如果他們幫助了一個人,那就值得發文。
你在學校,你和你的朋友互相做出承諾。這些承諾就像是在說:「我會完成作業,然後我們就可以玩遊戲了。」
但事情是這樣的:有時需要一點時間才能完成作業。你可能會很快吃完,或者你的狗可能會吃掉它,而你永遠不會吃完(哎呀!)。 JavaScript Promise 的工作方式相同。它等待事情發生,然後說:「好吧,接下來做什麼?」
.then() 方法就像你在 承諾完成後要做的事情。想像你對你的朋友說:
但是如果你沒有完成怎麼辦?呃哦,您可以加入備份計畫:
以下是在 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 });
這就像你在等待一群朋友完成他們的作業,這樣你們就可以一起玩。你就像:
在現實生活中,這就是一起工作。在 JavaScript 中,您使用名為 Promise.all() 的東西(這就像說「讓我們等待每個人都準備好!」):
Promise.all([friend1, friend2]).then(() => { console.log("We’re all done! Time to play!"); });
所以,JavaScript 只是確保它知道 接下來會發生什麼 當承諾得到遵守或違背時! ?
Promise 本身不會檢查作業。 你說吧!當您建立承諾時,您可以根據任務(例如完成作業)是否完成來決定是已解決還是拒絕。 .then() 在 Promise 得到解決時運行,.catch() 在 Promise 被拒絕時運行。
這是一個完整的範例來查看它的實際效果:
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) });
以上是JavaScript .then / .when 方法。的詳細內容。更多資訊請關注PHP中文網其他相關文章!