Code Typing · TypeScript
Async Pool
Run async tasks with bounded concurrency.
Difficulty: Advanced · 18 Lines · License: public-domain
async function asyncPool<T, R>(
items: readonly T[],
concurrency: number,
fn: (item: T) => Promise<R>
): Promise<R[]> {
const results: R[] = [];
const executing = new Set<Promise<void>>();
for (const item of items) {
const p = fn(item).then((r) => { results.push(r); });
Time0:00
Speed (WPM)0.0
Accuracy100.0%
Mistakes0
Live Keyboard
Next Key: A | Last Pressed: -
Progress: 0.0%
"
1
2
3
4
5
6
7
8
9
0
*
-
=
F
G
Ğ
I
O
D
R
N
H
P
Q
W
'
U
İ
E
A
Ü
T
K
M
L
Y
Ş
X
J
Ö
V
C
Ç
Z
S
B
.
,
;
/
Space
Timed Test Leaderboard
No results yet. Be the first to set a score.