前端有效地减少并发请求的数量

23 阅读1分钟
let p
for (let i = 0; i < 100; i++) {
  getList().then(res => {
    console.log(res)
  })
}

function getList() {
  if (p) return p
  p = get().then(res => {
    p = null
    return res
  })
  return p
}


function get() {
  return new Promise((resole, reject) => {
    setTimeout(() => {
      resole('成功')
      // reject('错误')
      console.log('执行')
    }, 1000)
  })
}