ホームページ > 記事 > ウェブフロントエンド > Promise コンストラクターのコールバックはいつ実行されますか?
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 サイトの他の関連記事を参照してください。