At which stage does the creation of ajax async request async occur? And how did the async:false in $.ajax become the underlying layer of Synchronize?

var a = 1;
debugger
$.ajax ({

)
url:"",
type:"",
data:"",
success: function(data = "22"){
    a = data
}

})
debugger / / the breakpoint here we can clearly see that the request has been sent and the data in success is
console.log (a)
with a return value, but the question is, don"t you wait for the Synchronize function to execute async? Shouldn"t there be a breakpoint not to leave ajax at this time? For example, the following

var a = 1;
debugger
setTimeout (() = > {aquired 33"}, 0)
debugger / / Last executed setTimeout
console.log (a)

Jun.22,2021

ajax uses XMLHttpRequest (XHR) objects to interact with the server

//XHRopenasynctrue
XHR.open(method, url, async)
//XHRsend
XHR.send(null);

when the request ends and the result is returned, the callback function is appended to the bottom of the execution stack, waiting for the previous event to be executed before executing the callback function

jq's $.ajax request is an encapsulation of ajax. Changing async:false in $.ajax to Synchronize is the Synchronize that changes the third parameter in open to false implementation. If at the bottom, false can make the running environment sleep or wait, and the request ends and continues to execute

Menu