ReactNative fetch封裝新姿勢

2021-08-08 01:48:33 字數 1552 閱讀 5644

react和reactnative 的網路請求使用的是fetch

關於基本的post和get請求以及非同步變同步就不再描述,看看api的介紹。

網路請求封裝要完成的內容有:

1、基本功能(網路請求)

2、統一處理

異常處理

不同錯誤碼處理

3、可定製loading彈窗提示

4 、可定製header

5、超時處理

6、登陸驗證token處理

7、url 特殊字元處理

8、網路請求日誌列印

超級方便的除錯技巧

const

wrapfetch = (url, req, config) =>

};//配置引數

//預設不顯示進度條,如果需要顯示config傳參

const cnf = object.assign({}, , config);

//預設header,如果需要特殊處理可通過傳參改變

if (req && req.headers) , request.headers, req.headers);

request.headers = mergeheader;

delete req.headers;

} //merge

const merge = object.assign({}, request, req);

//去掉url中可能存在的//

url = url.replace(/([^:])\/\//, '$1/');

if (__dev__)

return

new promise((resolve, reject) => ;

//計時開始,顯示彈窗

if (cnf.showloading)

reject(err);

}, 5000);

//如果配置showloading為true,顯示modalloading

if (cnf.showloading)

fetch(url, merge)

.then(res => )

.then((res) =>

if (isserverok&&res.code===1000)

//資料正確返回

//token過期或者校驗錯誤,將token清除

asyncstorage.setitem('token', '');

window.token = '';

} else else

}reject(res);}})

.catch((err) =>

if (__dev__)

reject();

}).done();

});};export

default

wrapfetch;

具體實現需要根據後端定義的介面狀態碼,使其符合你的專案。

echarts 最近的新姿勢

經過我這幾個月的堅持學習,外加高人指點,對echarts,又稍稍有了一些新姿勢 總結一折線圖 line series 這個areastyle 應該是用來劃區域的,沒有它,折線圖應該就是單獨的線圖,我火星了 總結二折線圖 line option yaxis series 這個data還可以這麼玩,然後...

讀入優化新姿勢 學習筆記

震驚!99.9 的oier都不知道。用了此方法,暴力立馬變標算!最近學習了乙個新的函式fread,可以從檔案中整塊讀入資訊,速度很快。基於這個函式,我們可以寫乙個新的getchar inline char gc fread的4個引數分別表示從 開始存,乙個量是幾位元組 char就是1 想要讀入幾個,...

Linux 解鎖檔案操作新姿勢

作為乙個程式後台開發人員,往往會檢視程式執行的日誌來分析當前程式執行的情況及異常問題排查。那必不可少的是如何高效的操作日誌檔案 本人之前常用的命令一般為tail cat vi 或vim 要獲取錯誤日誌從何開始時可能要遍歷整個日誌檔案,使用cat缺省會快速翻到最後一行,若使用vi則把檔案都載入到記憶體...