实现一个简单的js队列
作者:
阿尔法_狗 | 来源:发表于
2020-11-06 18:28 被阅读0次
实现一个简单的js队列
class Queue {
constructor() {
this.isPadding = false;
this.queueList = [];
}
push(fn) {
this.queueList.push(fn);
this.run()
}
size() {
return this.queueList.length;
}
run() {
const vm = this;
if (!this.size() || this.isPadding) { // 当前队列为空,或者当前有异步还未执行完成
return
}
this.isPadding = true;
const item = this.queueList.shift();
item(function done() {
vm.isPadding = false;
vm.run()
})
}
}
const request = new Queue();
request.push(function (done) {
setTimeout(() => {
console.log('异步1')
done()
}, 2000)
})
request.push(function (done) {
setTimeout(() => {
console.log('异步2')
done()
}, 2000)
})
本文标题:实现一个简单的js队列
本文链接:https://www.haomeiwen.com/subject/loxxbktx.html
网友评论