1.5.3 • Published 6 years ago

xpromisequeue v1.5.3

Weekly downloads
85
License
MIT
Repository
github
Last release
6 years ago

简介

这是一个Promise的执行队列模块,里面的每一个Promise都是按顺序执行的,您也可以指定一定的优先级来决定队列的执行顺序。

使用场景

  • 需要按顺序来运行某一组任务,比如:当A处理后才能执行B,B处理后才能执行C...
  • 示例场景:当一个页面的交互很复杂时,某些业务逻辑可能会不定时地向页面发出多个非阻塞式的弹窗消息,为避免多个弹窗同时展现在页面上,可以采用此模块来顺序执行弹窗逻辑,只有当前面的弹窗处理完毕后,才会处理后面的弹窗逻辑。

如何使用

流程

npm.io

API

公开的模块内容为export default { QItem, Queue },其中QItem是队列中的执行项,Queue是队列。

QItem:

Queue:

简单使用

//先注册队列后,再统一执行
new Queue().reg(new QItem(function(){
	setTimeout(()=>{
		console.log('test 1...');
		this.resolve();
	},2000);
})).reg(new QItem(function(){
	setTimeout(()=>{
		console.log('test 2...');
		this.resolve();
	},3000);
})).run();

//test 1...
//test 2...


//先执行,再动态注册
new Queue().run().reg(new QItem(function(){
	setTimeout(()=>{
		console.log('test 1...');
		this.resolve();
	},2000);
})).reg(new QItem(function(){
	setTimeout(()=>{
		console.log('test 2...');
		this.resolve();
	},3000);
}));

//test 1...
//test 2...

Demo预览图

具体示例代码请参见:demo/index.html

npm.io

1.5.3

6 years ago

1.5.2

6 years ago

1.5.1

6 years ago

1.5.0

6 years ago

1.4.0

6 years ago

1.3.0

6 years ago

1.2.0

6 years ago

1.1.0

6 years ago