There are several methods, but none of them are perfect. One is to keep repeating until the specified time is reached, and the other is to use xhr to synchronize requests to the background program. For example, if 2000 is passed, the background will sleep2 seconds before returning, this method also has some disadvantages. When multiple clients request the background, the http connection overhead is always maintained. If you are interested, you can find out that there are several methods, but none of them are perfect.
First, keep repeating until the specified time is reached
The Code is as follows:
Function sleep (numberMillis ){
Var now = new Date ();
Var exitTime = now. getTime () + numberMillis;
While (true ){
Now = new Date ();
If (now. getTime ()> exitTime)
Return;
}
}
In fact, the Code does not let the script sleep down, on the contrary, let the CPU quickly to the high load attached function. Most modern browsers will be suspended for some time.
SecondWhen xhr is used to synchronously request the background program, for example, if 2000 is passed, the background will sleep for 2 seconds and then return. This method also has disadvantages. When N clients request the background, it is costly to keep the connection http.
In addition, the alert and confirm of the window object can interrupt subsequent code execution.