第三に、「秘密のインターネット企業は、最初のラインのフロントエンド高度なJavaScriptのインタビュー」ビデオチュートリアルシリーズ3本の要約:関連非同期JS

 


 

シリーズカタログ:https://www.cnblogs.com/lmyxywy/p/10931603.html

 


 

質問:シングルスレッドとは何ですか?そして、非同期接続とは何ですか?

 

シングルスレッドが同時に一つだけで、2つのjsが同時に行うことはできません。

ドムJSは、2つのjsを避けるドム衝突の要素を変更するためには、動作させることができるので、これは発生し、それは著者がシングルスレッドのメカニズムを使用JS。

また、UIのレンダリングブラウザは内部の同じスレッドでも、紛争やJS、JS UIのレンダリングとを避けるためにして、DOM要素をレンダリングする必要があるため。

ドム時間を変更するJSれ、UIのレンダリングを中断する必要があります。

どちらも、シングルスレッドドムのレンダリングを避けるために、紛争の本質をしています。

 

シングルスレッドの原則によると、プログラムがダウンして行くことはありません前に、一つのことを完了していなかったので、必然的に、より頻繁に、それは閉塞の原因となります長い時間待って待機するようにつながります。

非同期シングルスレッドのブロッキングの問題は「無力」ソリューションを解決することです。

非同期原則:人気の用語は、時間が非同期イベントに戻るまで、非同期イベントを処理するために到着したとき、同期イベントを下るを続け、待って最初にスキップするイベントを経験しています。

 

 によって引き起こされる非同期問題:

1は、書かれた順序に従って実行されていない、可読性が非常に悪く、理解とデバッグを助長されていません。

図2に示すように、コールバック(コールバック関数)モジュールは容易ではない、マルチレベル、結合の高度にネストされています。

 


 

質問2:イベントループとは何ですか?それは、非同期キューに入れ、非同期キューは、何ですか?

 

イベントループイベントのポーリング、JS非同期固有のソリューション。

 

イベントループの実行の原則:

図1に示すように、すべての同期タスクは、実行スタックを形成するメイン処理の実行中に配置されています。

2は、非同期タスクに会った、彼らは、非同期キューにタスクを実行することはありません、それはメインプロセスの非同期タスク専門ストレージキューの外に

        3例に、非同期キューのタイミング:

        ①所定の遅延時間は、直ちに非同期キューに置かれていません。

        ②遅延時間は、遅延時間は、その後、非同期キューに入れています。

        ③データのとき、非同期キューに受信されたときも同様アヤックスは、返されたデータを待つ必要があります。

すべての同期タスクは、ポーリングは非同期タスクを実行し、非同期キューを監視するまで3は、メイン処理を終了します。

(ポーリングがある:実行スタックを待っが終了する限り、メインコースが空だったとして、非同期タスクのキューが実行スタックに入り、再び非同期キューモニタ読み出しタスクシステムは、非同期タスクの実行スタック、無限にしましょう)

 


 

仕事、そして継続します。

 

質問3:使用した場合jQueryの繰延?

質問4:基本的な原則と約束を使用します。

質問5:/は待つ非同期(プロミスの違いとの接続)を導入

 

おすすめ

転載: www.cnblogs.com/lmyxywy/p/11308862.html