1.2.1.10.關於非同步回呼

  • 非同步 (Asynchronous)

    • 在一個時間點不只一段程式碼執行

  • The browser

    • JavaScript engine裡面的等待列稱為Event queue

      • 存放可能要發生的事件, 事件通知

      • 當有一個需要被通知的物件在JavaScript engine的某處, 會被放到queue, 我們就可以監聽這個事件 然後用函式回應

      • 舉例來說, 如果有一個按鈕按下去後, 當執行堆是空的時候, JavaScript才會注意到event queue, 如果有函數對應到這個事件, 他會看這個函數是否可被此事件觸發, 如果可以則會建立新的Execution context給此函數

        • 1.長時間執行的函式會干擾事件

        • 2.依照事件發生的順序處理

        • 3.這是發生在JavaScript engine之外的非同步

    • Rendering engine

    • HTTP request

Last updated