Fetch HTTP Client 基于 Fetch API 封装的 HTTP Client开源项目

我要开发同款
匿名用户2016年11月07日
20阅读
开发技术JavaScript
所属分类Web应用开发、服务器端JavaScript
授权协议MIT

作品详情

一个基于FetchAPI封装的HTTPClient,可用于浏览器及其他兼容环境中,设计之初是为了ReactJS和ReactNative访问后端RestAPI使用。比其他基于FetchAPI的封装优势在于,它的中间件机制支持对请求和应答进行异步处理。

安装:

npm install fetch-http-client --save

使用:

import FetchHttpClient, { json } from 'fetch-http-client';// Create a new client object.const client = new FetchHttpClient('https://api.example.com/endpoint');// Add access tokenclient.addMiddleware(request => {  request.options.headers['X-Access-Token'] = 'secret';});// Add json supportclient.addMiddleware(json());// Add Loggingclient.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));

预处理异步请求的中间件示例,从存储中异步读取accessToken,并添加到请求头中:

// Add access token asynchronouslyclient.addMiddleware(request => {  return AsynchronousStorage.fetch('accessToken').then(token => {    request.options.headers['X-Access-Token'] = token;    return request;  });});
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论