var Queue = function() {
this.list = [];
};
Queue.prototype = {
constructor: Queue,
queue: function(fn) {
this.list.push(fn)
return this;
},
wait: function(ms) {
this.list.push(ms)
return this;
},
dequeue: function() {
var self = this,
list = self.list;
self.isdequeue = true;
var el = list.shift() || function() {};
if (typeof el == "number") {
setTimeout(function() {
self.dequeue();
}, el);
} else if (typeof el == "function") {
el.call(this)
if (list.length) {
self.dequeue();
} else {
self.isdequeue = false;
}
}
}
};
var q = new Queue();
function a() {
console.log("a执行了", new Date());
}
function b() {
console.log("b执行了", new Date());
}
function c() {
console.log("c执行了", new Date());
}
function d() {
console.log("d执行了", new Date());
}
q.wait(2000);
q.queue(a);
q.wait(2000);
q.queue(b);
q.dequeue();
setTimeout(function(){//3S之后进来的
q.wait(2000);
q.queue(c);
},3000);
setTimeout(function(){//8S之后进来的
q.wait(2000);
q.queue(d);
q.dequeue();
},8000);
var q = new Queue();
function a() {
console.log("a执行了", new Date());
}
function b() {
console.log("b执行了", new Date());
}
function c() {
console.log("c执行了", new Date());
}
function d() {
console.log("d执行了", new Date());
}
q.wait(2000);
q.queue(a);
if (!q.isdequeue) {
q.dequeue();
}
q.wait(2000);
q.queue(b);
if (!q.isdequeue) {
q.dequeue();
}
setTimeout(function() { //3S之后进来的
q.wait(2000);
q.queue(c);
if (!q.isdequeue) {
q.dequeue();
}
}, 3000);
setTimeout(function() { //8S之后进来的
q.wait(2000);
q.queue(d);
if (!q.isdequeue) {
q.dequeue();
}
}, 8000);
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有