miniprogram-queue 
Queue Package for MiniProgram API
小程序底层操作队列化(wx.request, wx.downloadFile,wx.uploadFile)
miniprogram-network默认队列实现
Features:
Install(安装)
npm i miniprogram-queue
Usage(使用)
import {WxQueue} from 'miniprogram-queue';
const requestQueue = new WxQueue(wx.request,10);
const task = requestQueue.push({
url:'https://github.com/NewFuture/miniprogram-network/'
});
API
参数
与官网API参数兼容 支持 扩展参数:
onProgressUpdate 进度回调函数
onHeadersReceived 响应头回调函数
jump (默认false)是否插队
timestamp (默认false) 是否记录时间戳,是则complete回调中会包含 一个time字段
{
send: number,
response: number
}
兼容API
同时 downloadFile 和 uploadFile 支持通过process 参数 之间设置进度回调
jump (插队)
requestQueue.push({
url:'https://github.com/',
jump:true,
});
Abort (取消操作)
所有操作返回一个Task对象,可取消操作
注意: 和官方API一致 取消时依然会执行complete(如果配置了)。
var task = wx.request(obj);
task.abort();
var task = queue.push(obj);
task.abort();
Progress (进度支持)
DownloadTask.onProgressUpdate(function callback)
UploadTask.onProgressUpdate(function callback)
小程序onProgressUpdateAPI的接口,设计上不太合理,
这个接口放在请求发生时更合适,而非在Task创建后。
此处保留了对onProgressUpdate的兼容适配,同时提供了可通过参数(progress)传入的方法
const task =uploadQueue.push({
onProgressUpdate:processCallback
onHeadersReceived:console.log
});
const task = wx.uploadFile(obj);
task.onProgressUpdate(processCallback);