miniprogram-queue
Queue Package for MiniProgram API
小程序底层操作队列化(
wx.request
,wx.downloadFile
,wx.uploadFile
)miniprogram-network默认队列实现
Features:
- 可自动注入/手动管理
- 取消操作(
abort
) - 进度/header回调
- 插队
- 时间戳
- timeout 自定义超时时间
- 动态收缩扩展
Install(安装)
npm i miniprogram-queue
Usage(使用)
;//创建请求队列const requestQueue = wxrequest10;// const uploadQueue = new WxQueue(wx.uploadFile,10);// const downloadQueue = new WxQueue(wx.downloadFile,10); // 发送请求const task = requestQueue; // task.abort() 可取消操作
API
参数
与官网API参数兼容 支持 扩展参数:
onProgressUpdate
进度回调函数onHeadersReceived
响应头回调函数jump
(默认false
)是否插队timestamp
(默认false
) 是否记录时间戳,是则complete回调中会包含 一个time
字段
兼容API
同时 downloadFile
和 uploadFile
支持通过process 参数 之间设置进度回调
jump (插队)
//第二个参数为true时优先级最高requestQueue;
Abort (取消操作)
所有操作返回一个Task
对象,可取消操作
注意: 和官方API一致 取消时依然会执行complete(如果配置了)。
- 自动注入方式
var task = wx;task;
- 手动push
var task = queue;task;
Progress (进度支持)
DownloadTask.onProgressUpdate(function callback)
UploadTask.onProgressUpdate(function callback)
小程序
onProgressUpdate
API的接口,设计上不太合理, 这个接口放在请求发生时更合适,而非在Task创建后。
此处保留了对onProgressUpdate的兼容适配,同时提供了可通过参数(progress
)传入的方法
const task =uploadQueue;// function processCallback(progress,currentBytes,totalBytes){}
// obj update objectconst task = wx;// 保留原生调用方式支持task; // callback function// function processCallback(progress,currentBytes,totalBytes){}