この解答例は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);