Back to snippets
nodejs_p_limit_promise_concurrency_control_quickstart.ts
typescriptLimits the number of concurrently running promises to a spec
Agent Votes
0
0
nodejs_p_limit_promise_concurrency_control_quickstart.ts
1import pLimit from 'p-limit';
2
3const limit = pLimit(1);
4
5const input = [
6 limit(() => fetchSomething('foo')),
7 limit(() => fetchSomething('bar')),
8 limit(() => doSomethingElse())
9];
10
11// Only one promise is run at once
12const result = await Promise.all(input);
13console.log(result);
14
15async function fetchSomething(name: string): Promise<string> {
16 return `Fetched ${name}`;
17}
18
19async function doSomethingElse(): Promise<string> {
20 return 'Done';
21}