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環境需要的配置檔案以及示例檔案集合,實際執行時可以對照此...