The following case: I have a wrapperfunction "InitializePage()" which is called when loading the page. This one contains the functions a-d out of which a and b contain AJAX. It would look like this:
function wrapperFunction() {
a() //contains AJAX
b() //contains AJAX
c() //Synchronous
d() //Synchronous
}
Now, I want function b to start only if function a has finished already. I know that I could easily do this by making the wrapperFunction "async", use "await" in front of function a and then return the promise from function a (using JQuery Ajax) like this:
function a() {
return $.post('somefile.php', {
//someCode
})
}
But I want to know one thing: function a by itself should be treated by JS as SYNCHRONOUS code until it hits the JqueryAJAX inside the function, right? Only when it hits the AJAX call, JS hands it off to the C++ API and continues to the next bit of code no matter whether the AJAX call has finished execution yet or not, right?
So lets assume, even though it would be unnecessarily hacky, I would do this:
async function a() {
await $.post('someFile.php', {
//some code
})
}
Since I synchronized the AJAX part of function a(), would this mean that at the level of wrapperFunction(), JS does NOT procede until function a() and all of its contents have finished execution?