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" يُعلَّم التحدي كمحلول في هذا المتصفح.

إرسال حلك للمراجعة