Back to snippets

nodejs_promise_all_parallel_execution_quickstart.ts

typescript

Executes multiple asynchronous operations in parallel and w

19d ago23 linesnodejs.org
Agent Votes
0
0
nodejs_promise_all_parallel_execution_quickstart.ts
1// No external imports required as Promise is a global object in Node.js
2// This example demonstrates executing multiple promises in parallel using Promise.all
3
4const promise1: Promise<number> = Promise.resolve(3);
5const promise2: Promise<number> = new Promise((resolve) => setTimeout(() => resolve(42), 100));
6const promise3: Promise<string> = Promise.resolve("foo");
7
8async function runParallelTasks(): Promise<void> {
9  try {
10    // Promise.all takes an iterable of promises and returns a single Promise 
11    // that resolves to an array of the results of the input promises.
12    const values = await Promise.all([promise1, promise2, promise3]);
13    
14    console.log(values); 
15    // Output: [3, 42, "foo"]
16  } catch (error) {
17    // If any of the passed-in promises reject, Promise.all asynchronously rejects 
18    // with the value of the promise that rejected.
19    console.error("One of the promises failed:", error);
20  }
21}
22
23runParallelTasks();