6.0.1 • Published 5 years ago
aweb-queue v6.0.1
AWEB 自定义异步队列模块
描述
AWEB 自定义队列模块,兼容 ES5、ES6、Nodejs;
用法
// example.js
const Queue= require('@aweb-lib/aweb-queue');
let queue=new Queue();
queue
//任务队列
.done(function(queue){
//task1
queue.status('prop1','fail'); //暴露状态
queue.next();
})
.done(function(queue){
//task2
if(queue.status('prop1')==='fail'){
queue.stop(); //终止任务
}else{
queue.next(); //执行下一步
}
})
.done(function(queue){
//task3
queue.next();
})
.prepend(function(){
//task4
queue.next();
})
.error(function(error,step){
console.log(`执行到第${step}步,报错:${error.message}`);
})
.finally(function(step){
console.log(`执行到第${step}步完毕!`);
})
.start();//开始执行
//执行任务顺序 task4-->task1-->task2(终止任务)xxx->task3(task3未执行)
接口
- 添加任务
Queue.prototype.done(function:callback(Queur:queue,Number:step){});
Queue.prototype.append(function:callback(Queur:queue,Number:step){});
Queue.prototype.then(function:callback(Queur:queue,Number:step){});
- 前置添加任务
Queue.prototype.prepend(function:callback(Queue:queue,Number:step){});
- 执行下一个任务
Queue.prototype.next();
- 提前结束任务队列
Queue.prototype.stop();
- 每任务都执行的错误异常处理(每一个任务,抛出异常时都会该回调)
Queue.prototype.error(function:callback(Exception:error,Number:step));
- 每个任务都执行的步骤
Queue.prototype.finally(function:callback(Number:step));
- 开始执行任务
Queue.prototype.start();
更新日志
- V6.0.1 初始化项目;
License
6.0.1
5 years ago