当前位置: 首页 > news >正文

做效果图比较好的模型网站天桥区seo全网宣传

做效果图比较好的模型网站,天桥区seo全网宣传,.net网站开发代码,广州开发区建设局网站黄埔思路: 主要通过异步等待队列执行的原理。 当前执行的任务数达到最大值的时候,再继续执行的任务会放入等待队列里,直到当前任务执行结束后,减少一个当前任务数,并且判断队列中是否有任务,如果有则按顺序执…

 思路:

主要通过异步等待队列执行的原理。

当前执行的任务数达到最大值的时候,再继续执行的任务会放入等待队列里,直到当前任务执行结束后,减少一个当前任务数,并且判断队列中是否有任务,如果有则按顺序执行第一个。

class Scheduler {constructor(max) {this.max = max;this.count = 0; // 用来记录当前正在执行的异步函数this.queue = new Array(); // 表示等待队列}async add(promiseCreator, order) {/*此时count已经满了,不能执行本次add需要阻塞在这里,将resolve放入队列中等待唤醒,等到count<max时,从队列中取出执行resolve,执行,await执行完毕,本次add继续*/console.log("添加事件", order);if (this.count >= this.max) {console.log("放入队列中", order);await new Promise((resolve, reject) => this.queue.push(resolve));}this.count++;console.log("任务执行", order);let res = await promiseCreator();this.count--;if (this.queue.length) {console.log("队列启动");// 依次唤醒add// 若队列中有值,将其resolve弹出,并执行// 以便阻塞的任务,可以正常执行this.queue.shift()();}return res;}
}const timeout = time =>new Promise(resolve => {setTimeout(resolve, time);});const scheduler = new Scheduler(2);const addTask = (time, order) => {//add返回一个promise,参数也是一个promisescheduler.add(() => timeout(time), order).then(() => console.log(order));
};addTask(1000, '1');
addTask(500, '2');
addTask(300, '3');
addTask(400, '4');// output: 2 3 1 4
http://www.hrbkazy.com/news/18760.html

相关文章:

  • 网站开发和大数据开发区别十个有创意的线上活动
  • 徐州网站公司宁波seo怎么做优化
  • 用别人网站做app的危害app推广联盟平台
  • 做企业网站大约多少钱郑州搜索引擎优化公司
  • 用php做的单车租赁网站情感式软文广告
  • 网站设计的评估长沙网站优化价格
  • 传奇变态服手游版的官网广州百度seo代理
  • 本地wordpress站点上传二十条优化措施原文
  • 百度seo网站优化 网络服务北京疫情最新消息
  • 做网站真辛苦免费推广
  • 做网站制作赚钱吗人民日报新闻消息
  • 网站框架指的是什么揭阳百度快照优化排名
  • 日本人真人做真爱的免费网站推广软文代发
  • 电商网站建站开发语言济南网站推广优化
  • 哪里有做时时彩网站搭建的百度文库首页官网
  • 程序员不是做网站的百度指数人群画像
  • 建设银行网站密码忘记了咋办百度建站云南服务中心
  • 织梦的网站数据还原怎么做百度如何添加店铺位置信息
  • 国内做服装的网站有哪些方面无忧seo博客
  • 动态网站设计用那个软件社交媒体推广
  • wordpress建站企业直通车推广技巧
  • 国家安全文化建设网站如何建立网站
  • 复制网站源码推广网
  • 邢台在百度上做个网站jsurl中文转码
  • 网络营销运营方案seo学习网站
  • 无极网站赌博涉案多少人被抓本地广告推广平台哪个好
  • 北京做网站建设公司哪家好郑州百度快照优化
  • 西安行业网站培训课程
  • 网站建设与管理试卷 判断题关键词排名怎么查
  • 做网站还是移动开发太原网络推广价格