charm-fetch 使用文档
是一款迷人的js请求工具,可以方便地进行js请求
工具会检测环境是否支持fetch,不支持就使用XMLHttpRequest
由于fetch不支持显示上传进度,所以上传文件一律采用XMLHttpRequest
支持restful
,可以使用GET,POST,DELETE,PUT,PATCH方法
支持Promise
异步请求,可以使用then方法或者await/async
工具会在每次请求中自动在url后中添加随机数参数(参数名默认为_r),避免低版本出现接口缓存问题
安装与配置
$ npm install -g charm-fetch #全局安装 $ npm install --save-dev charm-fetch #局部安装
用法
用法请参照例子文件夹下
charm-fetch
两种使用方法
- api配置使用
- 传统请求
api配置使用
用于创建一个api请求实例,同一个服务器的请求可以统一使用
CFetch.create(key,[options])
参数
- key 实例的唯一键,根据key可以拿到配置过的实例
option
url
基地址,api服务器的地址 例:http://localhost:3000/request
api请求前的回调函数,可以在这里统一传递公共参数 例如:tokenresponse
api请求响应后,对数据进行处理后返回,必须有返回 返回值将会传递给then的第一个参数header
请求头timeout
过期时间returns
返回api请求对象
//导入包;/** * 此方法可以创建多个实例, * 创建实例自动返回api实例 **/let api = CFetch
获取请求对象
//通过getInstance获取指定的api实例
let api = CFetch.getInstance("api");
例子
let user = list: api//获取用户列表 add: api//添加用户 update: api//修改用户基本信息 patch: api//更新用户部分信息 delete: api//删除用户 uploadAvatar: api//上传头像 download: api//下载文件//1.使用then方法获取数据user//2.使用await/async获取数据let list = await user;
异步上传/下载文件
//上传文件//1.then方法user//2.await/asynclet result = await user //下载文件//1.then方法user//2.await/asynclet file = await user
传统请求
使用方法
//导入包;
异步上传或下载
//导入包;//上传文件//下载文件
fetch请求终止
//1.then方法//bind方法 //obj表示对象,当obj为null时,本工具就会自动终止请求user//ref方法let a ={};let ref = user;//使用abort手动结束请求ref; //2.await//bind//obj表示对象,当obj为被销毁后,本工具就会自动终止请求let result = await user//ref方法let a ={};let result = await user//使用abort手动结束请求aref;