ホームページ  >  記事  >  ウェブフロントエンド  >  Promise コンストラクターのコールバックはいつ実行されますか?

Promise コンストラクターのコールバックはいつ実行されますか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-26 08:56:17887ブラウズ

When Are Promise Constructor Callbacks Executed?

Promise コンストラクター コールバックの実行タイミングを理解する

Promise オブジェクトを構築するとき、コールバック関数内で提供されたコードはすぐには実行されませんが、 Promise 仕様に従って、むしろ同期的に行われます。これは、Promise が初期化されるとすぐにコールバックの実行が行われることを意味します。

次のコード スニペットを考えてみましょう。

function doSomethingAsynchronous() {
  return new Promise((resolve) => {
    const result = doSomeWork();

    setTimeout(() => {
      resolve(result);
    }, 100);
  });
}

このシナリオでは、関数 doSomeWork は、約束の構築。 setTimeout 関数は、デモンストレーションの目的で、resolve 関数の実行を遅らせるために使用されますが、doSomeWork 呼び出しの同期の性質には影響しません。

Promise 仕様では、executor 関数 (つまり、提供されるコールバック) が実行されることが義務付けられています。コンストラクターに) は、Promise が作成されるとすぐに呼び出されます。これにより、エグゼキューター関数の同期動作の一貫性が確保され、その結果に依存する可能性のある非同期プロセスやその他のタスクを確実に処理できるようになります。

以上がPromise コンストラクターのコールバックはいつ実行されますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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