この解答例はChatGPTによって生成されています,正しいかは自己判断で。 皆の投稿からも解答例が見つかるかもしれませんよ。

BFE.devでのAI解答例 - JavaScript コーディング問題
179. Implement AsyncTaskQueue

class AsyncTaskQueue {    constructor(concurrency) {        this.concurrency = concurrency;        this.runningCount = 0;        this.taskQueue = [];    }    async executeTask(task) {        try {            await task();        } catch (error) {            console.error('Task failed:', error);        } finally {            this.runningCount--;            this.runNextTask();        }    }    runNextTask() {        if (this.taskQueue.length > 0 && this.runningCount < this.concurrency) {            const task = this.taskQueue.shift();            this.runningCount++;            this.executeTask(task);        }    }    queue(task) {        this.taskQueue.push(task);        this.runNextTask();    }}const queue = new AsyncTaskQueue(2);const task1 = () => new Promise((resolve) => setTimeout(() => resolve("Task 1 done"), 1000));const task2 = () => new Promise((resolve, reject) => setTimeout(() => reject("Task 2 failed"), 500));const task3 = () => new Promise((resolve) => setTimeout(() => resolve("Task 3 done"), 200));queue.queue(task1);queue.queue(task2);queue.queue(task3);