Difference: 1. In synchronization, a thread has to wait for the previous thread to finish executing before it can start executing. In asynchronous, if a thread is executing, the next thread can start executing without waiting for it to finish executing; 2. Synchronization It is a single-thread operation, while asynchronous operation is a multi-thread operation; 3. Asynchronous operation is more efficient than synchronization.
The operating environment of this tutorial: windows7 system, javascript version 1.8.5, Dell G3 computer.
ajax asynchronous request:
Asynchronous request means that while the request is being made, the browser can continue to do anything. Ajax sending the request will not affect the loading and loading of the page. The user's operations are equivalent to two lines, each going its own way without affecting each other. The general default value is true. Asynchronous requests do not affect the user experience at all. No matter how long or short the request is, the user is concentrating on operating other content on the page and does not feel like waiting.
For example:
$.ajax({ type:"POST", url:"Venue.aspx?act=init", dataType:"html", success:function(result){ //function1() f1(); f2(); } failure:function (result) { alert('Failed'); }, } function2();
Explanation: In the above code, when the ajax block sends a request, it will stay in function1() and wait for the return from the server, but at the same time (during this waiting process), The front desk will execute function2().
ajax synchronous request:
A synchronous request means that after the current request is issued, the browser cannot do anything. It must wait until the request is completed and the data is returned before it will be executed. The subsequent code is equivalent to queuing, that is to say, when the JS code is loaded into the current ajax, all codes in the page will stop loading, and the page will be in a state of suspended animation. When the ajax is completed, other code pages will continue to run. Release the suspended animation state (that is, only execute the subsequent functions after ajax returns the data).
For example:
$.ajax({ type:"POST", url:"Venue.aspx?act=init", dataType:"html", async: false, success:function(result){ //function1() f1(); f2(); } failure:function (result) { alert('Failed'); }, } function2();
Explanation: In the above code, when asyn is set to false, the ajax request is synchronized. That is to say, after the ajax block sends the request at this time, He will wait at function1() and will not execute function2() until the function1() part is completed.
After reading the meaning of ajax synchronous and asynchronous requests, let’s take a look at the difference between ajax synchronous requests and asynchronous requests.
The difference between ajax synchronous requests and asynchronous requests:
Synchronization means that a thread has to wait for the previous thread to finish executing before it can start execution. Synchronization It can be regarded as a single-threaded operation. As long as the client makes a request, it will be in a thread blocking state until the server does not feedback information.
Asynchronous means that when one thread is executing, the next thread can start execution without waiting for it to finish executing. Asynchronous is definitely multi-threading. When the client requests, other threads can be executed, and this thread is stored in its queue and executed in an orderly manner.
Asynchronous efficiency is higher than synchronization. If data is shared between threads, synchronization must be used!
In asynchronous mode:
After we send the request using AJAX, there may still be code that needs to be executed. At this time, the server may not have responded to our request due to various reasons, but because we use asynchronous execution, the remaining code in all functions containing AJAX request code will continue to execute. If we hand over the request result to another JS function for processing, then it will be like two threads executing at the same time.
In synchronous mode:
After we use AJAX to send the request, there is still code that needs to be executed later. We also hand over the server response to another JS function. Processing, but the code execution situation at this time is: when the server does not respond or the JS function that processes the response result has not processed and completed the return, the remaining code of the function containing the request code cannot be executed. Just like a single thread, it enters the blocking state after the request is sent, and the remaining code will not continue to execute until it touches the blocking state.
[Related tutorial recommendations: AJAX video tutorial]
The above is the detailed content of What is the difference between ajax synchronization and asynchronous. For more information, please follow other related articles on the PHP Chinese website!