wxapp-http
微信小程序的http模块,机智得“绕过”最大10个http并发的限制.
Installation
npm install wxapp-http --save
Features
- 使用typescript构建,更严谨
- 更优雅的API
- http请求的拦截器,轻松定义你的http请求
- http请求的事件监听器, 发布订阅者模式(基于@axetroy/event-emitter.js)
- http请求返回promise
- http请求队列化,规避小程序的并发限制
- 自定义http请求的最高并发数量
Usage
// es6; // commonJSconst http = default; http ;
API
http.request
http.get
http.post
...
以及OPTIONS, HEAD, PUT, DELETE, TRACE, CONNECT 请求, 参数同上
拦截器
配置文件字段
请求拦截器
返回布尔值,如果为true,则允许发送请求,如果为false,则拒绝发送请求,并且返回的promise进入reject阶段
// examplehttp.setRequestInterceptor;
响应拦截器
返回布尔值,如果为true,则返回的promise进入resolve阶段,如果为false,则进入reject阶段
//examplehttp.setResponseInterceptor;
监听器
监听全局的http请求, 事件基于@axetroy/event-emitter.js
declare // examplehttp.on'request', ; http.on'success', ; http.on'fail', ; http.on'complete', ;
事件: [request, success, fail, complete]
参数: [config, response]
事件触发顺序
requestInterceptor
↓
onRequest
↙ ↘
onSuccess onFail
↘ ↙
responseInterceptor
↓
onComplete
清除请求队列
适用于小程序页面切换后,取消掉未发出去的http请求.
// examplehttp.clean;
自定义一个新的Http实例
// example; ;
自定义最高并发数量
最高并发数量默认为5个
; const http = Http; // 设置最高并发3个 http ;
自定义全局的header
每个http请求,都会带有这个header
; const http = Http; http ;
Related
wxapp-fetch fetch API implement for WeCHat App
@axetroy/event-emitter.js A Javascript event emitter implementation without any dependencies. only 1.4Kb
Contributing
git clone https://github.com/axetroy/wxapp-http.gitcd ./wxapp-httpyarnyarn run start
- 打开微信web开发者工具, 加载wxapp-http/example目录
- 修改index.ts
欢迎PR.
You can flow Contribute Guide
Contributors
Axetroy 💻 🔌 ⚠️ 🐛 🎨 |
---|
License
The MIT License