seajs 原始碼分析四

2022-07-15 16:36:13 字數 660 閱讀 5956

這篇主要講最後的seajs原始碼執行順序。當然,前面那些零零碎碎的就直接忽略了,就從module那塊開始

seajs總的函式呼叫順序圖如下:

seajs.use呼叫後會呼叫module.preload,如果有預載入模組的話,就需要先呼叫module.use(preloadmods,function(),...),來完成模組的預載入,在其完成後再正式呼叫module.use(ids,...)

mod.load中的resolve函式主要是將mod所依賴的一系列檔案路徑都計算出來,然後形成陣列返回。在load通過迴圈,逐個的用module.get得到module例項,然後通過fetch,呼叫seajs.request得到該檔案並執行,由於得到的js檔案的話一般有define包裹,define的作用是將factory函式解析,判斷其依賴的專案,然後新增的m例項的依賴下,在後面的m.load執行時,就會將這些依賴專案抓取過來,若依賴專案中還有依賴,就會再次進入解析-正則匹配-新增依賴-load抓取。

在一起依賴都完成時,就會執行m.onload函式,這個函式在最後會對依賴這個m的module進行逐一檢查,分別減去他們的_remain,並判斷remain是否等於0,若等於0,就對這個mod執行mod.onload函式。

uC OS II原始碼分析(四)

核心結構 1,臨界區,os enter critical 和os exit critical 為了處理臨界區 必須關中斷,等處理完畢後,再開中斷。關中斷可以避免其他任務或中斷進入臨界區 uc os ii 定義了這兩個巨集來實現,但注意一條 呼叫 uc os ii 功能函式時,中斷應該總是開著的。1 ...

gSOAP 原始碼分析 四

gsoap 原始碼分析 四 2012 6 2 邵盛松 前言本文主要說明gsoap中對client的認證分析 gsoap中包含了http基本認證,ntlm認證等,還可以自定義soap heard實現認證等 一 http基本認證 client在向server傳送請求時提供以使用者名稱和口令形式的憑證 g...

uC OS II原始碼分析(四)

核心結構 1,臨界區,os enter critical 和os exit critical 為了處理臨界區 必須關中斷,等處理完畢後,再開中斷。關中斷可以避免其他任務或中斷進入臨界區 uc os ii 定義了這兩個巨集來實現,但注意一條 呼叫 uc os ii 功能函式時,中斷應該總是開著的。1 ...