1.0.0 • Published 4 years ago

@ksky521/queue v1.0.0

Weekly downloads
1
License
MIT
Repository
github
Last release
4 years ago

Queue - task 队列管理

重复执行的同一个函数的队列,将参数添加进来,然后控制执行频次,支持事件

Usage

const Queue = require('@ksky521/queue');
const queue = new Queue(handler, 2);
arrays.forEach((url, i) => {
    queue.add([url, savePath]);
});
rs = {};
queue.run().then(
    data => {
        data.forEach(d => {
            if (d && d.url && d.name) {
                rs[d.url] = d.name;
            }
        });
        items.forEach(item => {
            let content = item.content.replace(/!\[\]\((.+?)\)/g, (input, $1) => {
                if (rs[$1]) {
                    return `![](${imgRelatePath}/${rs[$1]})`;
                }
                return input;
            });
            // console.log(content);
            item.content = content;
            delete item.links;
        });
        if (jsonPath) {
            fs.writeJSONSync(jsonPath, items);
        }
        resolve(items, rs.length);
    },
    e => {
        reject(e);
    }
);

事件

支持事件 progressprogress接收两个参数:当前第几个task,一共几个 task