首頁 > web前端 > js教程 > 主體

JavaScript .then / .when 方法。

DDD
發布: 2024-10-17 06:27:29
原創
628 人瀏覽過

JavaScript the .then / .when method.

今天,我正在學習 WordPress 教學課程,講師正在示範如何使用 jQuery 和 JavaScript 搜尋網站,特別是使用 .then() 和 .when() 方法。隨著我的跟進,我發現我對這些方法並沒有我想像的那麼熟悉。

所以,我做了一些研究,做了一些筆記,並將它們添加到我的黑曜石筆記本中。說實話,這些筆記有點粗糙——它們看起來就像是五年級學生用松鼠的注意力拼湊出來的東西(讓我們面對現實吧,有時感覺就像我一樣!)。

但我想,為什麼不分享它們呢?如果他們幫助了一個人,那就值得發文。


想像一下:

你在學校,你和你的朋友互相做出承諾。這些承諾就像是在說:「我會完成作業,然後我們就可以玩遊戲了。」

但事情是這樣的:有時需要一點時間才能完成作業。你可能會很快吃完,或者你的狗可能會吃掉它,而你永遠不會吃完(哎呀!)。 JavaScript Promise 的工作方式相同。它等待事情發生,然後說:「好吧,接下來做什麼?」

現在,我們來談談.then():

.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
  });
登入後複製

現在對於 .when():

這就像你在等待一群朋友完成他們的作業,這樣你們就可以一起玩。你就像:

  • 「當我們都完成之後,我們就可以一起玩了!」

在現實生活中,這就是一起工作。在 JavaScript 中,您使用名為 Promise.all() 的東西(這就像說「讓我們等待每個人都準備好!」):

Promise.all([friend1, friend2]).then(() => {
  console.log("We’re all done! Time to play!");
});
登入後複製

總結(超簡單):

  • .then() 就像在說「當這一件事完成後,我們就做一些有趣的事情。」
  • .when()(或 Promise.all())就像是在說「當每個人完成他們的工作後,我們就一起玩。」

所以,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中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!