JS睡眠睡眠を達成[ボー]

まず、JSのネイティブは、現在のすべてのプログラムが間接的な実装され、睡眠をサポートしていません。
要件:

for (i=0;i<100;i++){
    echartsPlots(xxx[i]);
}

インサイドはechartsPlots AJAXコールバック直接遅くなり、非常に簡単な背景をされ実行し、データのクエリと処理の内部動けなくする場所である。私はいくつかの時間のためのechartsPlots実行、睡眠の後を願って、その後、サイクルは、タスクを続けています。下の実行
方法、サイクル実現

function sleep(delay) {
    for (var t = Date.now(); Date.now() - t <= delay;) ;
}

最も簡単な方法は、ほとんどのピットの父
アイドルですべてのCPUの後に実際にピット主に効果の父、とは、睡眠の目的を達成した理由が、効率を犠牲にして、クライアント側の実際のコスト、。
だから、私は所望の効果を達成することができますか?

for (i=0;i<100;i++){
    echartsPlots(xxx[i]);
    sleep(1000)//毫秒
}

実際には、彼らが次のプロンプト(シングルスレッドのJS本質を)喜ばせたいので、(AJAX要求は、実際のバックエンドが戻ってきた、保留状態で立ち往生している)ではありません

方法2、のsetTimeout(のsetInterval付き)

function loop(i) {
    console.log(i);
    i++;
    if (i<10)
        setTimeout(function () {
            loop(i);
        }, 2000);
}
loop(0);

これは、達成するためにオンデマンドで同様の効果を得る再帰的なのですか?はい、これは問題ありません

setTimeoutとのsetIntervalにすることを追加
したsetIntervalを推奨
この記事を参照してください:のsetInterval()とのsetTimeout()差.https://blog.csdn.net/mayue24/article/details/80879685

公開された238元の記事 ウォンの賞賛144 ビュー860 000 +

おすすめ

転載: blog.csdn.net/u011331731/article/details/103838201