Fetch HTTP Client基于 Fetch API 封裝的 HTTP Client
一個基于 Fetch API 封裝的 HTTP Client,可用于瀏覽器及其他兼容環(huán)境中,設(shè)計之初是為了ReactJS和ReactNative訪問后端RestAPI使用。比其他基于Fetch API的封裝優(yōu)勢在于,它的中間件機制支持對請求和應(yīng)答進(jìn)行異步處理。
安裝:
npm install fetch-http-client --save
使用:
import FetchHttpClient, { json } from 'fetch-http-client';
// Create a new client object.
const client = new FetchHttpClient('http://api.example.com/endpoint');
// Add access token
client.addMiddleware(request => {
request.options.headers['X-Access-Token'] = 'secret';
});
// Add json support
client.addMiddleware(json());
// Add Logging
client.addMiddleware(request => response => {
console.log(request, response);
});
// Fire request.
client.get('test').then(response => console.log(response.jsonData));
// Path variables support.
client.get('users/{id}', { uriParams: { id: 1 } }).then(response => console.log(response.jsonData));
預(yù)處理異步請求的中間件示例,從存儲中異步讀取accessToken,并添加到請求頭中:
// Add access token asynchronously
client.addMiddleware(request => {
return AsynchronousStorage.fetch('accessToken').then(token => {
request.options.headers['X-Access-Token'] = token;
return request;
});
});評論
圖片
表情
