axios原始碼閱讀之檔案目錄篇

2021-10-05 03:09:41 字數 1912 閱讀 3494

axios的入口檔案。主要功能:

createinstance建立axios例項。

axios.create方法允許使用者建立多個axios例項同時允許繼承。

axios.cancel、axios.canceltoken、axios.iscancel用於控制取消網路請求

axios.all 用於傳送多個網路請求,實際使用了promise.all

axios.spread 將多個引數合併成陣列執行,可使用延展語法代替,配合axios.all使用

此檔案中主要需注意getdefaultadapter方法,該方法主要是設定axios的網路請求模組,在瀏覽器環境下使用xmlhttprequest模組,node模式下使用http模組。

主要封裝了一些常用的工具函式。

node模式下使用http網路請求模組。使用promise進行了一層封裝。主要功能:

設定user-agent(可選)

處理請求資料

http基本身份驗證(可選)

解析url並處理成絕對路徑

設定**(可選)

建立請求物件

監聽請求錯誤

處理請求超時(可選)

監聽請求取消(可選)

瀏覽器模式下使用xmlhttprequest。同樣的也使用了promise進行封裝。主要功能:

http基本身份驗證

解析url並處理成絕對路徑

監聽網路請求是否就緒

處理瀏覽器請求取消的情況(與手動取消相反)

處理底層網路錯誤

新增xsrf標頭

新增請求頭

新增withcredentials進行請求(如果需要)

設定響應型別(可選)

監聽檔案上傳進度(可選,檔案上傳可用)

監聽請求取消(可選)

乙個cancel類,用於取消請求時使用,包含message欄位。主要功能:

重寫了tostring方法

函式原型上新增了__cancel__屬性,預設為true

乙個canceltoken類,用於取消請求時使用。主要功能:

包裝乙個執行器生成token

包含throwifrequested方法,用於處理請求取消的情況。

判斷請求是否取消。

宣告乙個axios類,同時通過構造方法設定axios配置和初始化請求***和響應***。

包含request、geturi、get、delete、head、options、post、put和patch方法。

將相對路徑組合成絕對路徑。

使用指定的訊息,配置,錯誤**,請求和響應建立錯誤資訊。

使用配置的介面卡,即網路請求模組進行網路請求。在進行網路請求之前,先判斷是否已經取消了網路請求,如果沒有,就進行轉換請求資料,合併請求頭等操作;然後再進行網路請求;最後轉換響應資料。

使用指定的訊息,配置,錯誤**,請求和響應格式化錯誤資訊。

***管理類,包含三個方法:分別是use方法——新增***,eject方法——移除***,foreach方法——遍歷並呼叫***。

用於axios配置檔案合併。

根據響應結果執行promise.resolve或者promise.reject。

轉換請求或響應資料。

實現函式繫結執行上下文,即this物件。

序列化引數,並拼接到url。

通過baseurl和相對url組合形成乙個新的url。

cookies模組,只有在瀏覽器環境存在,實現read、write、remove三個函式;其他環境不需要,實現read、write、remove三個空函式,防止呼叫報錯。

判斷是否為絕對路徑。

判斷url是否同源,非標準瀏覽器環境 (web workers, react-native) 不支援支援,直接返回true。

標準化請求頭,刪除不需要的請求頭欄位。

轉化成乙個標準的請求頭物件。

將多個引數轉化為乙個陣列執行。

原始碼閱讀 Glide原始碼閱讀之with方法(一)

前言 本篇基於4.8.0版本 原始碼閱讀 glide原始碼閱讀之with方法 一 原始碼閱讀 glide原始碼閱讀之load方法 二 原始碼閱讀 glide原始碼閱讀之into方法 三 大多數情況下,我們使用glide 就一句 但是這一句 裡面蘊含著成噸的 with方法有以下幾個過載方法 publi...

原始碼閱讀 Glide原始碼閱讀之load方法(二)

原始碼閱讀 glide原始碼閱讀之load方法 二 原始碼閱讀 glide原始碼閱讀之into方法 三 首先,load方法有以下幾個過載方法 public requestbuilder load nullable bitmap bitmap public requestbuilder load nu...

hadoop原始碼閱讀 1 原始碼目錄結構

由於版本的不同,可能部分目錄有些不同.bin 此目錄下為進行hadoop配置 執行以及管理的shell命令集合 c 此目錄下為linux下amd64 64位系統以及i386 32位系統提供的庫檔案集合 conf 此目錄下為執行與配置hadoop環境需要的配置檔案以及示例檔案集合,實際執行時可以對照此...