Home > Software design >  A function to execute two functions but only one executes?
A function to execute two functions but only one executes?

Time:11-14

I have tried using a function to execute two functions when the page loads using window.onload, the issue I am having is that the function (myFunc) only executes the first function from the top (Func1) but not (Func2), the function looks like this

window.onload = function myFunc(){
    return Func1(); 
    return Func2(); 
} 

So how can I execute both of them?

CodePudding user response:

Try this :)

make sure you define Functions before calling them, this is good practice

//Arrow function and remove the return

const Func1 = () => {
  console.log('This is Func1');
}
const Func2 = () => {
  console.log('This is Func2');
}

window.onload = myFunc = () => {
  Func1();
  Func2();
}
<iframe name="sif1" sandbox="allow-forms allow-modals allow-scripts" frameborder="0"></iframe>

CodePudding user response:

do not return because after return goes out of function

window.onload = function myFunc(){
    Func1(); 
    Func2(); 
}

CodePudding user response:

Remove the return keywords, and just run the function as is.

CodePudding user response:

Ref: https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onload

window.onload = function() {
  Func1();
  Func2();
};

No need for return statements and naming the function. It should trigger both functions, if not please make sure the code change is reflected in the source by putting a breakpoint or adding a debugger; inside the function. Also check if both the function body are doing the same action so that you are concluding as second one not executing.

CodePudding user response:

js engine finishes the execution of function on return keyword. so dont use return keyword to execute both functions

  • Related