2017-08-11 5 views
0

私はイベントループとその動作方法について知っています。最近私は約束をよく理解するために読むことを学び、ECS6とそれより低い仕様の違いの1つを学びました。現在、javascriptエンジンは、イベントループキューでのタスクのスケジューリング方法を誤っています。 イベントループの繰り返しの最後に生きていると言われるjob queueのこの新しい概念があります。誰かが明確に私に説明してください。job queueは、それがどのように動作し、どのようにイベントループキューでタスクをスケジューリングするのに役立ちますか?私はどこからでも明確なexpalanationを得ていないようです。Javascriptのイベントループになるとジョブキューは正確に何ですか?

答えて

1

「イベントループキューの最後に表示される」ジョブキューは、通常「マイクロタスクキュー」と呼ばれます。

マイクロキューが空になるまで、イベントループマネージャは、次に実行するものを決定することなく、イベントループからの現在のコールアウトが終了した後で、単にマイクロキューに追加されたジョブを連続して実行します。

プロミス決済によって実行されたプロミス反応ジョブは、マイクロキューに配置されます。したがって、イベントキューからのアクティブなコールアウトが終了した直後に最優先で実行されます。

ES6仕様では、Promiseジョブがブラウザなどの特定のJavaScriptアプリケーションの実装の詳細を指定せずに「PromiseJob」キューに入り、「マイクロタスク」とは言わないだけです。

関連する質問What is the difference between “event loop queue” and “job queue”?には、「ジョブキュー」の正式な定義のための追加の定義とリンクが含まれています。

関連する問題