1.0.0 • Published 4 years ago
@ksky521/queue v1.0.0
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);
}
);
事件
支持事件 progress
,progress
接收两个参数:当前第几个task,一共几个 task
1.0.0
4 years ago