いくつかの方法がありますが、完璧ではありません
まず、指定された時間に達するまでループし続けます
function sleep(numberMillis) {
var now = new Date();
var exitTime = now.getTime()numberMillis;
while (true) {
now = new Date();
if (now.getTime() > exitTime)
return;
実際、このコードはスクリプトをスリープさせるのではなく、代わりに CPU を急速に高負荷まで上昇させます。最新のブラウザのほとんどは、この期間中一時停止アニメーションになります
2 番目の
、xhr を使用してバックグラウンド プログラムを同期的にリクエストします。たとえば、2000 が渡されると、バックグラウンドはスリープ状態になります。 2 秒後に再起動します。この方法には欠点もあります。N 個の複数のクライアントがバックグラウンドを要求すると、HTTP 接続を維持するのに非常にコストがかかります。
さらに、ウィンドウ オブジェクトのアラートと確認によって、後続のコードの実行が中断される場合もあります。