setTimeout JavaScript

How does setTimeout Work with the JavaScript Engine?

If one wants a function to be executed just after a period of time T in JavaScript, what do they do? They dump it in a setTimeout and surely, just immediately after T has elapsed, the function will be run. Right? Can you predict what happens when the code below is run? You should try it out in a Node.js REPL or the console. const extractTime = (date) => date.toTimeString().split(" ")[0]; var start = new Date(); console....

January 4, 2023 · 3 min · Orim Dominic Adah
Callback Function JavaScript

What is a Callback Function in JavaScript

You know how you ask someone to call you back in a phone conversation? That’s what callback functions are. They are functions to be called later; after something has happened. In order to grasp this in practice, one needs to understand two things that there is a difference between a function name fn and a function call fn(), that functions can be passed into functions as arguments, the same way that numbers, strings and arrays are passed into functions as arguments The difference between a function name and a function call Let’s consider the code snippet below...

August 7, 2022 · 5 min · Orim Dominic Adah
Design JavaScript code with tests in mind

Design Javascript Code with Tests in Mind

Writing tests is important. One popular reason is that it gives one the ability to predict what happens in code with a high degree of accuracy. With tests, one can prove with a high degree of confidence that all conditions being equal, code works as it is expected to work. Another reason why tests are important is that it influences good design. If code is written in such a way that its components can be tested with minimal or no module mocks, there is a high chance that it was designed using SOLID principles....

July 30, 2022 · 6 min · Orim Dominic Adah
Asynchronous function javascript

What Is an Asynchronous Function in JavaScript?

When you look at the second hand of a ticking clock, you’ll find out that the second hand moves sequentially. It points at 1 before it does 2, and then 3. It does not point at 4 and then 1 and then 9. Now imagine that the second hand is the JavaScript runtime and each number is a function. The second hand, which is our imaginary JavaScript runtime, determines what function runs by pointing at the number....

March 25, 2022 · 5 min · Orim Dominic Adah
NestJS Integration Testing with TypeORM and MongoDB

Implement JavaScript's setInterval using setTimeout

I was in a job interview pair programming session where I was asked to implement JavaScript’s setInterval method without using setInterval itself. I did poorly at that interview for many reasons, including not knowing how to implement this. The question Implement the setInterval function in such a way that executing new SetInterval.prototype.start will start the function passed to it and run the function at intervals interval until the SetInterval.prototype.clear method is called....

June 23, 2021 · 4 min · Orim Dominic Adah