/ / javascriptの内部:イベントの実装方法 - javascript-events、イベント処理、v8、spidermonkey、javascript-engine

javascriptの内部:イベントはどのように実装されていますか? - javascript-events、イベント処理、v8、spidermonkey、javascript-engine

私の質問は、JSエンジンが非同期イベントのパターンをどのように実装するかに関連しています。

彼らは、すべてのクリックイベントを聞いている別のスレッドのようなものを持っていますか?イベントが発生すると、バインドリストを参照してイベントをバブルアップしますか?

同様のことが、Ajax、非同期ネットワークサーバーからのデータの受信を開始する新しいスレッドをブラウザに渡し、応答が受信されると、成功ハンドラが呼び出されます。

回答:

回答№1の場合は7

読む この郵便受け javascriptのイベントキューについてあなたの質問のほとんどに答えます。実際のOSイベント(マウスイベント、キーボードイベント、タイマーイベント、ネットワークI / Oイベントなど)とのインタフェースを処理するネイティブOSスレッドが存在し、JSエンジンにJSキューが追加されますそれらをJavascriptコードにディスパッチします。 OSレベルでスレッドがいくつあるかは、実装固有であり、実装によって異なる可能性があります。