Skip to content

Commit 6e7109d

Browse files
authored
promise
1 parent 9ebb870 commit 6e7109d

1 file changed

Lines changed: 17 additions & 0 deletions

File tree

JavaScript/functions.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -326,6 +326,23 @@ processUserData();
326326
| Chaining | Difficult | Easy | Easy |
327327
| Under the Hood | Basic asynchronous mechanism | Built on callbacks, more structured | Built on Promises, syntactic sugar |
328328

329+
**Advantages & Disadvantages:**
330+
331+
| Feature | Callbacks | Promises | Async/Await |
332+
|---------------|------------------------------------------------|------------------------------------------------|------------------------------------------------|
333+
| **Advantages**| Simple to use for small tasks | Avoids callback hell | Syntactic sugar over promises |
334+
| | Widely supported | Better error handling with `.catch()` | Code looks synchronous, easier to read |
335+
| | No need for additional libraries | Chaining for sequential async operations | Easier to debug with modern tools |
336+
| | | More control over async flow | Reduces boilerplate code |
337+
| **Disadvantages**| Can lead to callback hell (nested callbacks)| - Can be verbose with `.then()` and `.catch()` | Requires modern JavaScript (ES8) |
338+
| | Harder to read and maintain | Still requires chaining for sequential tasks | Needs `try/catch` for error handling |
339+
| | Error handling can be cumbersome | Slightly more complex than callbacks | Not supported in older environments |
340+
341+
### Summary
342+
- **Callbacks** are simple but can become unwieldy with complex asynchronous operations.
343+
- **Promises** provide a cleaner way to handle asynchronous operations and avoid callback hell.
344+
- **Async/Await** makes asynchronous code look synchronous, improving readability and maintainability.
345+
329346
## Promise Methods:
330347

331348
```javascript

0 commit comments

Comments
 (0)