Better ways to write async code.
Since 2015, JavaScript has improved immensely.
It’s much more pleasant to use it now than ever.
In this article, we’ll look at JavaScript async programming.
The synchronous code always runs before the async code.
So if we have:
setTimeout(function() {
console.log(2);
}, 0);
console.log(1);
Then we get:
1
2
The console log outside is synchronous, so it runs first.
The callback’s console log runs after the synchronous code, since it’s async.
The event loop may be blocked if we run something that’s synchronous since the whole app is managed by a single process.
Both the user interface and other computations are all in one thread.
So if one thing runs, then whatever comes after it can’t run until that thing is done.
For instance, if we have a synchronous sleep
function, then that’ll pause the execution of the whole program.
If we have:
function sleep(ms) {
const start = Date.now();
while ((Date.now() - start) < ms);
}
console.log('start');
sleep(2000);
console.log('end');
Then we see 'start'
logged first, then wait 2 seconds, then 'end'
is logged.
The sleep
function uses a while
loop, so it’s synchronous.
This means it’ll hold up the whole program from running.
Exercise from Eloquent JavaScript. Today, we will write a function that forms a chessboard. You can find the exercise in the Eloquent Javascript book (3rd edition, chapter 2; Program Structure). Write a program that creates a string that represents an 8×8 grid, using newline characters to separate lines. At each position of the grid there is either a space or a “#” character. The characters should form a chessboard.
One of the nice things about learning JavaScript these days is that there is a plethora of choices for writing and running JavaScript code. In this article, I’m going to describe a few of these environments and show you the environment I’ll be using in this series of articles.
To paraphrase the title of an old computer science textbook, “Algorithms + Data = Programs.” The first step in learning a programming language such as JavaScript is to learn what types of data the language can work with. The second step is to learn how to store that data in variables. In this article I’ll discuss the different types of data you can work with in a JavaScript program and how to create and use variables to store and manipulate that data.
Professor JavaScript is a JavaScript online learning courses YouTube Channel. Students can learn how to develop codes with JavaScript from basic to advanced levels through the online courses in this YouTube channel.
Async callbacks or promises. Introduction to JavaScript Async Programming