美文网首页
实现一个createRequest方法

实现一个createRequest方法

作者: jluemmmm | 来源:发表于2021-02-26 17:06 被阅读0次

实现一个createRequest方法(假设浏览器允许无限多的并行请求),调用形式如下图,最后实现效果如图:

其中request函数的输入输出和fetch函数保持一致。

function createRequest(pool) {
    const queue = []
    let count = 0
    function doRequest() {
        if(queue.length === 0 || count > pool) return
        const url = queue.shift()
        count++
        ajax(url)
          .success(function(res){
            resolve(res)
          })
          .fail(function(err)) {
            reject(err)  
          })
          .then(function() {
            count--
            doRequest()
          })
    }
    return url => {
        return new Promise((resolve, reject) => {
            queue.push(url)
            doRequest()
        })
    }
}

相关文章

  • 实现一个createRequest方法

    实现一个createRequest方法(假设浏览器允许无限多的并行请求),调用形式如下图,最后实现效果如图: 其中...

  • [Swift 3.0]一个方法一行代码实现UITableView

    FGTableHeaderView 一个方法实现表头部视图缩放 Introduction 一个方法实现UITabl...

  • splice实现应用

    实现push方法 实现pop方法 实现shift方法 实现unshift方法

  • 使用TextureView播放视频

    1, 设置监听 2,实现监听方法 主要就实现了连个方法,一个用于播放,一个用于释放资源。 3,实现播放方法 相当简...

  • 【call apply bind】源码实现

    call方法的实现 apply方法实现 bind方法实现 new方法实现 reduce实现

  • 多参数接收

    声明一个方法 方法的实现

  • JS 数组扁平化的5种方式

    什么是数组扁平化 数组扁平化是指将一个多维数组变为一维数组 数据准备 实现方法一 实现方法二 实现方法三 实现方法...

  • DES加密

    创建一个NSData的类目(category) 类目方法的实现 创建一个管理类 方法的实现 使用方法

  • 设计模式之模板方法模式

    模板方法模式 抽象模板,定义三个必要步骤和一个实现事情的功能方法 实现类A,在实现步骤的具体方法中实现A特有的逻辑...

  • Filter过滤器

    创建 编写一个过滤器的类,实现Filter接口 实现接口尚未实现的方法,着重实现doFilter方法 在web.x...

网友评论

      本文标题:实现一个createRequest方法

      本文链接:https://www.haomeiwen.com/subject/pyumzktx.html