miniprogram-queue
    TypeScript icon, indicating that this package has built-in type declarations

    4.5.1 • Public • Published

    miniprogram-queue npm version

    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 uploadQueue = new WxQueue(wx.uploadFile,10);
    // const downloadQueue = new WxQueue(wx.downloadFile,10);
     
    // 发送请求
    const task = requestQueue.push({
        url:'https://github.com/NewFuture/miniprogram-network/'
    });
     
    // task.abort() 可取消操作

    API

    参数

    与官网API参数兼容 支持 扩展参数:

    • onProgressUpdate 进度回调函数
    • onHeadersReceived 响应头回调函数
    • jump (默认false)是否插队
    • timestamp (默认false) 是否记录时间戳,是则complete回调中会包含 一个time字段
    {
        sendnumber,
        responsenumber
    }

    兼容API

    同时 downloadFileuploadFile 支持通过process 参数 之间设置进度回调

    jump (插队)

    //第二个参数为true时优先级最高
    requestQueue.push({
        url:'https://github.com/',
        jump:true,//插队
    });

    Abort (取消操作)

    所有操作返回一个Task对象,可取消操作

    注意: 和官方API一致 取消时依然会执行complete(如果配置了)

    • 自动注入方式
    var task = wx.request(obj);
    task.abort();
    • 手动push
    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// callback function
        onHeadersReceived:console.log
    });
    // function processCallback(progress,currentBytes,totalBytes){}
    // obj update object
    const task = wx.uploadFile(obj);
    // 保留原生调用方式支持
    task.onProgressUpdate(processCallback); // callback function
    // function processCallback(progress,currentBytes,totalBytes){}

    Install

    npm i miniprogram-queue

    DownloadsWeekly Downloads

    53

    Version

    4.5.1

    License

    Apache-2.0

    Unpacked Size

    57.5 kB

    Total Files

    12

    Last publish

    Collaborators

    • avatar