一个基于FetchAPI封装的HTTPCliet,可用于浏览器及其他兼容环境中,设计之初是为了ReactJS和ReactNative访问后端RestAPI使用。比其他基于FetchAPI的封装优势在于,它的中间件机制支持对请求和应答进行异步处理。
安装:
pm istall fetch-http-cliet --save使用:
import FetchHttpCliet, { jso } from 'fetch-http-cliet';// Create a ew cliet object.cost cliet = ew FetchHttpCliet('https://api.example.com/edpoit');// Add access tokecliet.addMiddleware(request => { request.optios.headers['X-Access-Toke'] = 'secret';});// Add jso supportcliet.addMiddleware(jso());// Add Loggigcliet.addMiddleware(request => respose => { cosole.log(request, respose);});// Fire request.cliet.get('test').the(respose => cosole.log(respose.jsoData));// Path variables support.cliet.get('users/{id}', { uriParams: { id: 1 } }).the(respose => cosole.log(respose.jsoData));预处理异步请求的中间件示例,从存储中异步读取accessToke,并添加到请求头中:
// Add access toke asychroouslycliet.addMiddleware(request => { retur AsychroousStorage.fetch('accessToke').the(toke => { request.optios.headers['X-Access-Toke'] = toke; retur request; });});
评论