promise并发控制
class Scheduler {
list = []
maxNum = 2
workingNum= 0
add(promiseCreator){
this.list.push(promiseCreator)
}
start(){
for(let i in maxNum ){
this.handle()
}
}
handle(){
if(this.list.length &&this.workingNum< this.maxNum ){
this.workingNum++
this.list.shift()().then(res=>{
this.workingNum--
this.handle()
})
}
}
}
推荐阅读
- 我的拖延症如何控制了我,又一次
- 真正的爱
- 使用Promise对微信小程序wx.request请求方法进行封装
- 从如何使用到如何实现一个Promise
- 每天听本书《控制焦虑》
- 控制自己的心为什么这么难([追光日记(第2篇)])
- Promise详解
- 《不要用爱控制我》
- 8、Flask构建弹幕微电影网站-搭建后台页面-密码修改、主页控制面板
- CountDownLatch-线程并发的发令枪