Open
Description
实现一个带并发限制的异步调度器,保证同时运行的任务最多有两个。
完善下面代码中的 Scheduler 类,使得以下程序能正确输出。
// 实现
class Scheduler {
constructor() {
this._max = 2;
}
// ...
}
// 测试
const timeout = (time) =>
new Promise((resolve) => {
setTimeout(resolve, time);
});
const scheduler = new Scheduler();
const addTask = (time, order) => {
scheduler.add(() => timeout(time)).then(() => console.log(order));
};
addTask(1000, '1');
addTask(500, '2');
addTask(300, '3');
addTask(400, '4');
// 期望输出: 2 3 1 4
Metadata
Metadata
Assignees
Labels
No labels