js如何实现异步任务队列(异步加载)的方法

791 ℃

js如何实现异步任务队列(异步加载),下面web建站小编给大家详细介绍一下具体实现代码!

具体代码如下:

let queue = []
let index = 0
function clickMe() {
  queue.push({name: 'click', index: index++})
}
 
run()

async function run() {
  while (true) {
    if (queue.length > 0) {
      let obj = queue.shift()
      let res = await request(obj.index)
      console.log('已处理事件' + res)
    } else {
      await wait(500)
      console.log('----- 队列空闲中 -----')
    }
  }
}

// 通过setTimeout模拟异步请求
function request(index) {
  return new Promise(function (resolve, reject) {
    setTimeout(() => {
      resolve(index)
    }, 1000)
  })
}

function wait(time) {
  return new Promise(function (resolve) {
    setTimeout(() => {
      resolve()
    }, time)
  })
}

nodejs简单介绍如何利用promise实现函数线代码

vuejs如何利用async/await实现同步

es6语法中有哪些保留字

vue为什么要使用异步组件(代码介绍)

vue项目中实现链接跳转几种方法(打开新页面)

标签: await, promise, resolve, 异步加载

上面是“js如何实现异步任务队列(异步加载)的方法”的全面内容,想了解更多关于 js 内容,请继续关注web建站教程。

当前网址:https://m.ipkd.cn/webs_3124.html

声明:本站提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请发送到邮箱:admin@ipkd.cn,我们会在看到邮件的第一时间内为您处理!

网站站内优化,内链URL优化技巧
js数字转字符串的几种方法
帝国cms技巧之如何把文章内容都存放到根目录方
利用javascript实现拖拽功能(附代码)
vue年会跑马灯抽奖活动代码