async / await

Introduction

Async and Await are modern features in JavaScript that make asynchronous programming easier to read and write. They are built on Promises and help developers write cleaner and more structured code when dealing with tasks that take time, such as API calls or database operations.

What is Asynchronous Programming

Asynchronous programming allows JavaScript to run tasks in the background without stopping the main execution. This is useful for operations like fetching data, loading files, or communicating with servers. It prevents the application from freezing while waiting for a response.

What is Async Function

An async function is a function declared with the async keyword. It always returns a Promise, even if you return a simple value. Inside an async function, you can use the await keyword.

Example

async function greet() {
return "Hello World";
}

What is Await

Await is used inside an async function to pause the execution until a Promise is resolved. It allows JavaScript to wait for a task to complete before moving forward.

Example

async function getData() {
let result = await fetch("https://api.example.com/data");
let data = await result.json();
console.log(data);
}

How Async and Await Work Together

Async marks a function as asynchronous while await pauses the execution until the Promise is completed. Together they make asynchronous code easier to understand compared to traditional Promise chaining.

Key Benefits

Makes code easier to read and maintain
Simplifies handling of asynchronous operations
Reduces complexity compared to callbacks
Improves error handling using try and catch

Error Handling with Async Await

Error handling is done using try and catch blocks inside async functions.

Example

async function fetchData() {
try {
let response = await fetch("https://api.example.com");
let data = await response.json();
console.log(data);
} catch (error) {
console.log("Error occurred", error);
}
}

Real World Uses

Fetching data from APIs
Handling database requests in backend systems
Loading dynamic web content
Managing file operations in Node.js applications

Conclusion

Async and Await are essential tools in modern JavaScript development. They make asynchronous code easier to write, understand, and maintain, especially when working with APIs and server-side operations.

Home » Advanced JavaScript > Asynchronous JavaScript > async / await