Asynchronous programming in JavaScript
Normally, a program runs synchronously, which means that each line of code is executed one after the other. Let's take, for instance, these two lines of code:
const x = 3 + 4; console.log(x);
Those two lines will run in order. The result of 3 + 4
will be assigned to the x
constant, and then the variable x
will be printed on the screen using console.log
. The console.log
function can't start until x
is assigned.
But there are tasks, such as network requests, disk access, or any other I/O operation, that are time-consuming, and we don't necessarily want to wait for those tasks to finish to keep executing our code. For instance, we could start downloading a file, perform other tasks while that file is loading, and then check that file when the download is completed. Asynchronous programming will allow us to execute those long-running tasks without blocking our code.
An asynchronous function returns a Promise immediately...