ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript の .then / .when メソッド。

JavaScript の .then / .when メソッド。

DDD
DDDオリジナル
2024-10-17 06:27:29719ブラウズ

JavaScript the .then / .when method.

今日、私は WordPress チュートリアルに従っており、インストラクターは jQuery と JavaScript、特に .then() メソッドと .when() メソッドを使用してサイトを検索する方法をデモンストレーションしていました。続けていくうちに、私は思ったほどこれらの方法に慣れていないことに気づきました。

そこで、少し調べてメモをとり、Obsidian ノートブックに追加しました。正直に言うと、メモはちょっと荒いです。リスの集中力しかない小学 5 年生が組み立てたようなものです (正直に言うと、私と似ていると感じることがあります!)。

でも、それを共有したらどうだろうと考えました。一人でも役に立てば、投稿する価値があります。


これを想像してみてください:

あなたは学校にいて、あなたと友達はお互いに約束をしています。これらの約束は、「宿題を終わらせてからゲームをしましょう」と言っているようなものです。

しかし問題は、宿題を終えるのに少し時間がかかることがあるということです。すぐに食べ終わるかもしれませんし、犬が食べてしまうかもしれませんが、決して食べ終わることはありません (おっと!)。 JavaScript Promise も同様に機能します。何かが起こるのを待って、「オーケー、次は何をする?」と言います

さて、.then() について話しましょう。

.then() メソッドは、Promise が完了したに行うことと似ています。あなたが友達にこう言うと想像してみてください:

  • 「宿題が終わったら、それなら一緒にビデオゲームをしてもいいよ!」

でも、終わらなかったらどうするの?ああ、バックアップ プランを追加できます:

  • 「宿題が終わらないなら、それなら私たちはビデオゲームをしません。」

これを 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 だけでは宿題をチェックしません。 それはあなたが言います!約束を作成するときは、タスク (宿題を終えるなど) が完了したかどうかに基づいて、約束を解決するか拒否するかを決定します。 Promise が解決されると .then() が実行され、拒否されると .catch() が実行されます。

実際のアクションの例:

実際の動作を確認するための完全な例を次に示します:

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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。