搜尋

首頁  >  問答  >  主體

javascript - 非同步模組的理解

對於同步模組,模組必須提前載入進記憶體。
對於非同步模組,比如說他的實作requirejs,依賴前置,且提前執行,這不也是提前載入進記憶體了嗎,那為什麼說是異步的?看了很多AMD和CMD的知識,就是不太明白同步模組載入和非同步模組載入的差別。

曾经蜡笔没有小新曾经蜡笔没有小新2700 天前994

全部回覆(2)我來回復

  • 淡淡烟草味

    淡淡烟草味2017-07-05 10:51:39

    這個機制和【內存】關係並不大,更多可以理解為【腳本的下載時機】。

    前端的特殊性在於,腳本檔案的體積和下載時間,會直接影響頁面效能。同步載入的規範中,所有依賴必須下載好後,腳本才能執行。

    而異步載入的規範中,只有程式碼運行到需要的位置時,才會載入所需的腳本。例如一個巨大的單頁應用,首頁部分的腳本可以特別輕,而進入某個功能頁時,再異步加載需要的模組,這樣對效能有很大的幫助。

    回覆
    0
  • 我想大声告诉你

    我想大声告诉你2017-07-05 10:51:39

    requirejs的非同步載入本質上是在裡append需要非同步載入的