Synchronous and Asynchronous in JavaScript

JavaScript is a scripting-based programming language that is executed on the web browser by providing interactive webpages to the users. JavaScript has two types of code execution. One is known as synchronous, and the second is asynchronous.

Synchronous programming refers to the execution of the code in a series. While the asynchronous execution represents the parallel execution of the JavaScript code.

This post provides a deep insight into the synchronous and asynchronous terms in JavaScript.

What is Synchronous in JavaScript?

By default, the JavaScript code is executed in a synchronous/series-like manner. In a synchronous way, only one line of code is executed, and then the compiler proceeds to the next line. It executes one line and waits until the first line is executed properly.


An example of synchronous programming is given in the following JavaScript code.


// An example of Synchronous in JavaScript

const message= 'JavaScript World';

const greeting = `I Love ${message}`;


The description of the above code is provided here:

  • In the first line of code, the string “JavaScript World” is stored in the message variable.
  • After that, the greeting variable is utilized to store a complete message, “I Love JavaScript World.”
  • In the end, the complete string is displayed using the console.log() method.


The output shows the message “I Love JavaScript World” by the synchronous method in JavaScript.

What is Asynchronous in JavaScript?

The asynchronous strategy is utilized in programming languages that execute multiple processes/lines of code simultaneously. The asynchronous strategy is quite helpful when the execution is blocked indefinitely. The asynchronous functionality does not affect the responsiveness or the user experience.


An example is provided by utilizing the asynchronous strategy in JavaScript.


// An example of Asynchronous in JavaScript
functionstart() {
console.log('Welcome to JavaScript World');
functionend() {
console.log('Are you ready for execution?');
  setTimeout(start, 5000); // 5000 milliseconds are set

Firstly, a start() method is defined in which a message is displayed, “Welcome to JavaScript World”. After that, the end() method is utilized with the message “Are you ready for execution?”. In the end, the output that is returned from the start() method is passed to the setTimeout() method and assigned 5000 milliseconds.


The display returns the asynchronous output in JavaScript.

In this code, first, write the start() method but execute the statement of the end() method and display a message asking, “Are you ready for execution?”. After that, pause the execution for 5000 milliseconds. Finally, the start() method is executed and shows the message “Welcome to JavaScript World.”


JavaScript provides both synchronous and asynchronous types of execution according to developer needs. In the synchronous strategy, the code is executed in a series or a sequential order. On the other hand, users can perform multiple tasks at the same time by utilizing the asynchronous strategy. You have learned to understand and use both synchronous and asynchronous terms in JavaScript.

About the author

Syed Minhal Abbas

I hold a master's degree in computer science and work as an academic researcher. I am eager to read about new technologies and share them with the rest of the world.