SOURCE

// 编写一个请求调度器,调度器可配置同一时间并发请求数量
// 例如,当有四个请求,a,b,c,d依次加入请求池后,假设调度器配置并发数量为2,则会先执行a,b
// 并在其中任何一个结束后,执行c,同理,再有个一结束后,执行d。


function getUrl(id){
    return `https://jsonplaceholder.typicode.com/todos/${id}`
}

class Scheduler{
    // add your code here
}

const scheduler = new Scheduler(2);

// 添加异步任务
const addTask = (id) => {
    scheduler.add(() => {
        return fetch(getUrl(id)).then((val) => val.json()).then(v=>{console.log(v.id)})
    });
};

addTask(1);
addTask(2);
addTask(3);
addTask(4);
// 2
// 3
// 1
// 4
console 命令行工具 X clear

                    
>
console