国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

javascript - 異步模塊的理解

瀏覽:91日期:2023-03-19 10:05:47

問題描述

對于同步模塊,模塊必須提前加載進內存中。對于異步模塊,比如說他的實現requirejs,依賴前置,且提前執行,這不也是提前加載進內存了嗎,那為什么說是異步的?看了很多AMD和CMD的知識,就是不太明白同步模塊加載和異步模塊加載的區別。

問題解答

回答1:

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

前端的特殊性在于,腳本文件的體積和下載時間,會直接影響頁面性能。同步加載的規范中,所有依賴必須下載好后,腳本才能執行。

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

回答2:

requirejs的異步加載本質上是在<head>里append需要異步加載的<script>,這些<script>元素都有async屬性來實現非阻塞異步加載。然后通過onload監聽各個腳本加載完成狀態,來實現多個存在依賴關系的腳本先后加載次序。可以自己用async和onload實現簡單的異步加載功能,但要實現requirejs這樣的功能,還是要花不少心思的。

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 库尔勒市| 衡阳县| 临猗县| 都匀市| 灵石县| 菏泽市| 旬邑县| 铜川市| 元氏县| 木兰县| 新营市| 山丹县| 榆林市| 定兴县| 岐山县| 望江县| 巧家县| 和林格尔县| 太湖县| 屏南县| 保山市| 广南县| 富川| 历史| 和硕县| 科技| 和硕县| 璧山县| 佛冈县| 阿拉善盟| 大庆市| 宝鸡市| 洛隆县| 闻喜县| 蕉岭县| 榆林市| 稷山县| 溧水县| 长汀县| 崇阳县| 若尔盖县|