javascript advanced מסתיים ב-2026-11-24

Promise pool with a concurrency limit

Write runPool(tasks, limit) where tasks is an array of functions that each return a Promise. It runs the tasks with at most limit running at the same time and resolves to an array of results in the original order.

  • Start a new task as soon as one finishes; don't wait for a whole batch.
  • If any task rejects, runPool rejects with that error (tasks already running may finish).
  • runPool([], 3) resolves to [].

Acceptance criteria

  • No libraries; don't use Promise.all on all tasks at once (that ignores the limit).
  • The tests use real timers; run the code and wait a moment for All tests passed.

נפתר עד כה על ידי 0 אנשים.

javascript
עורךCtrl + Enter

            
        

כשהבדיקות מדפיסות "All tests passed", האתגר מסומן כפתור בדפדפן הזה.

שליחת הפתרון לבדיקה