基于FetchAPI封装的HTTPClientFetchHTTPClient.zip

时间:2022-08-07 23:34:13
【文件属性】:

文件名称:基于FetchAPI封装的HTTPClientFetchHTTPClient.zip

文件大小:9KB

文件格式:ZIP

更新时间:2022-08-07 23:34:13

开源项目

一个基于 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;   }); }); 标签:Fetch


【文件预览】:
fetch-http-client-master
----.eslintrc(264B)
----webpack.config.js(206B)
----modules()
--------index.js(5KB)
----.babelrc(51B)
----.travis.yml(402B)
----LICENSE(1KB)
----test()
--------.eslintrc(79B)
--------test.js(9KB)
----README.md(5KB)
----.editorconfig(307B)
----.gitignore(73B)
----package.json(2KB)

网友评论