0

Javascript でテキストを表示しようとしていますが、文字列の長さに応じて数秒間しか表示されません。投稿の回答に基づいて、非常に単純な例を作成しましたsetInterval によって行われる反復回数を制限する方法。しかし、私の場合はうまくいきません:

<script>
var iterations = 0,
    data = ['a','bbbbbbbb','c'],
    interval = setInterval(foo, 4000);

function foo() {
    console.log(data[iterations]);
    iterations++;
    if (iterations >= 4){
        clearInterval(interval);
    }else if(iterations == 1){
        //we want to make time longer in this iteration.
        clearInterval(interval);
        var interval = setInterval(foo, 8000);
    }
}
</script>

4秒後に「a」、8秒後に「bbbbbbbb」、4秒後に「c」を出力したいと思います。

ご覧のとおり、3 つの要素を持つ配列があります。反復 1 では、さらに待機する必要がありますが、待機しません。すべてのケースで 4 秒間待機し、無限ループが発生します。

break などの他の関数が setInterval 関数で機能しないことを確認しました。

forループに基づいていないよりスマートなソリューションでしょうか?? どうもありがとう。

4

1 に答える 1