mirror of
https://github.com/kennethnym/aris.git
synced 2026-02-02 05:01:17 +00:00
29 lines
654 B
Markdown
29 lines
654 B
Markdown
|
|
---
|
|||
|
|
title: Promise.all() for Independent Operations
|
|||
|
|
impact: CRITICAL
|
|||
|
|
impactDescription: 2-10× improvement
|
|||
|
|
tags: async, parallelization, promises, waterfalls
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Promise.all() for Independent Operations
|
|||
|
|
|
|||
|
|
When async operations have no interdependencies, execute them concurrently using `Promise.all()`.
|
|||
|
|
|
|||
|
|
**Incorrect (sequential execution, 3 round trips):**
|
|||
|
|
|
|||
|
|
```typescript
|
|||
|
|
const user = await fetchUser()
|
|||
|
|
const posts = await fetchPosts()
|
|||
|
|
const comments = await fetchComments()
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Correct (parallel execution, 1 round trip):**
|
|||
|
|
|
|||
|
|
```typescript
|
|||
|
|
const [user, posts, comments] = await Promise.all([
|
|||
|
|
fetchUser(),
|
|||
|
|
fetchPosts(),
|
|||
|
|
fetchComments()
|
|||
|
|
])
|
|||
|
|
```
|