I\'m a complete beginner in node.js. I\'ve just read we can use .then() function for executing several functions in particular order. I was going t
.then is a method that exists on Promises and is a mechanism for code synchronization. Your code is not asynchronous, so you wouldn't need to use promises. You can just call
one();
two();
three();
If your code does something asynchronous, then you can use promises and .then. Asynchronous operations are things like reading/writing files, http requests, timers, and many more.
Just as an example, we can use the built in Promise to create our own asynchronous operations:
I don't recommend you do this normally. We're just using it as an example. In most cases you can call functions that already return promises for you.
function one() {
return new Promise(resolve => {
console.log("one");
resolve();
});
}
function two() {
return new Promise(resolve => {
console.log("two");
resolve();
});
}
function three(){
console.log("three")
}
one().then(() => two()).then(() => three());
Also note that when you use .then, you need to pass a callback. two() calls the two function immediately, so it's not the same as () => two().
Next, you can often use async/await instead of .then which I think makes your code easier to reason about in most cases.
async function run() {
await one();
await two();
three();
}
run();
This is the same as the second example rewritten to use await instead of .then. You can think of everything after await as being inside of a .then chained to the expression after await.
Finally, you should handle errors by either chaining .catch to the promises or using the normal try/catch inside of async functions.