// 编写一个请求调度器,调度器可配置同一时间并发请求数量
// 例如,当有四个请求,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