イベント ループのマイクロタスクとマクロタスク
Promises/A 仕様を調べているときに、「マイクロタスク」と「マクロタスク。」これらの概念は、イベント ループ内の実行フローを理解するために非常に重要です。
マイクロタスクとマクロタスクの違い
各ループ反復は、実行される単一のマクロタスクで構成されます。その後、すべての保留中のマイクロタスクが直ちに処理されます。ただし、これらのマイクロタスクは、実行中に追加のマイクロタスクを生成する可能性があります。これらすべてのマイクロタスクは、マイクロタスク キューが空になるまで順番に実行されます。
実際的な結果
マイクロタスクが他のマイクロタスクを再帰的にキューに入れると、次のマクロタスクの実行が遅れる可能性があります。 。これにより、ユーザー インターフェイスがブロックされたり、I/O 操作の完了が妨げられる可能性があります。
保護メカニズム
Node.js には、過剰なマイクロタスク キューに対する保護が組み込まれています。 process.maxTickDepth メカニズムを通じて。この値は、マイクロタスクの実行の深さをデフォルト値の 1000 に制限します。
いつ使用するか
例
以上がマイクロタスクとマクロタスク: JavaScript イベント ループでどちらを使用する必要があるか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。