基于 Fetch API 封装的 HTTP Client Fetch HTTP Client

MIT
JavaScript
跨平台
2016-11-07
烫烫烫烫烫烫

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

安装:

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));

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

// Add access token asynchronously
client.addMiddleware(request => {
  return AsynchronousStorage.fetch('accessToken').then(token => {
    request.options.headers['X-Access-Token'] = token;
    return request;
  });
});
加载中

评论(0)

暂无评论

暂无资讯

暂无问答

注册中心 Eureka 源码解析 —— 应用实例注册发现(七)之增量获取

摘要: 原创出处 http://www.iocoder.cn/Eureka/instance-registry-fetch-delta/ 「芋道源码」欢迎转载,保留摘要,谢谢! **本文主要基于 Eureka 1.8.X 版本** - [1. 概述](http://www.ioco...

2018/06/09 11:11
41
0
tornado 中非阻塞 gen.coroutine 原理

异步代码编写,一般会通过回调函数的方式获取任务完成的消息,但是如果逻辑很复杂,回调嵌套就越深,代码也就越难理解,如下: ```python class AsyncHandler(RequestHandler): @asynchronou...

2016/06/20 14:48
42
0
Spring Cloud异常系列-Load balancer does not have available server for client

异常信息 解决方案 汇总网上的一些解决方案,供参考。 确认包引用 看下工程的依赖里,是否有eureka的包。 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-c...

03/30 17:35
219
0
微服务Spring Cloud Eureka 客户端-基本配置(eureka.client.xxx)

Eureka配置系列: Eureka 客户端-基本配置(本文) https://my.oschina.net/langxSpirit/blog/1821247 Eureka 客户端-实例配置 https://my.oschina.net/langxSpirit/blog/1821251 Eureka 服务...

2018/05/30 15:36
1K
0
Eureka集群部署以及踩坑记录(实例始终unavailable)

一、Eureka集群部署 建议先严格按照步骤来部署,不然容易出问题,可能出现的问题会在下边说明 1、新建一个maven工程,pom示例如下 <?xml version="1.0" encoding="UTF-8"?> <project xmlns=...

07/29 17:06
56
1
JavaEE进阶知识学习-----SpringCloud(四)Eureka集群配置

# Eureka集群配置 microservicecloud-eureka-7001使EurekaServer服务注册中心,一旦这个出现问题,那么微服务就不能正常的工作,为防止这种情况,所以出现了集群,就是建立多个microservicec...

2018/05/09 09:24
31
0
springcloud 系列教程二:服务的注册与发现

我们用到的是 eureka 服务注册中心,我们需要创建两个 module 注册中心 服务提供者 注册中心 完整的 pom 如下 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache...

配置 Eureka Server 集群

## 简介 为了使 Eureka Server 实现高可用,我们需要为它配置集群。这样当有一台 Eureka Server 有故障时,集群中的其他 Server 可以进行代替。Eureka 集群之中的 Node 通过 P2P 通信的方...

2018/05/17 11:25
97
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部