Node Js Execute Function Before Complete Multiple Lines Of Code
This function: function print(){   console.log('num 1')    setTimeout(() => {     global.name = 'max'     console.log('num 2')   },9000);    console.log('num 3'); } print(); con
Solution 1:
Javascript code is executed line by line. If you wanna execute pieces of code you still need to put the given lines into the timeout like this:
let name = "Unknown";
functionprint() {
    console.log('num 1');
    setTimeout(() => {
        this.name = 'max';
        console.log('num 2');
        console.log('num 3');
        console.log(this.name);
    }, 900);
}
print();
Solution 2:
The most readable way to work with synchronicity in JavaScript is with async functions. To give you an idea of what it can look like:
// To simulate the function you're going to use the snippet in
(async () => {
  asyncfunctionprint(){
    console.log('num 1')
    // await stops the execution until the setTimeout in sleep is done (non blocking)awaitsleep(9000);
    global.name = 'max'console.log('num 2')
    console.log('num 3');
  }
  // wait for the print function to finishawaitprint();
  console.log(global.name)
})();
// Little utility functionfunctionsleep(time) {
  returnnewPromise(resolve =>setTimeout(resolve, time))
}
You can read more about async/await here: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/async_function
Post a Comment for "Node Js Execute Function Before Complete Multiple Lines Of Code"