PHPで言うところのflush()のような処理はJavaScriptにありますでしょうか？


JavaScriptでボタンを押したときに動的に数字が足しこまれる過程を見たくて  
コードを描いているのですが、うまく表示できません。  
例：

[code]

    document.getElementById('button').onclick = function(){
     document.getElementById('output-text').innerHTML = 0;
     document.getElementById('output-text').innerHTML += 1;
     document.getElementById('output-text').innerHTML += 1;
     document.getElementById('output-text').innerHTML += 1;
     document.getElementById('output-text').innerHTML += 1;
     …
    }
    
[/code]

と書くと、output-textの箇所に０、１、２、３、４…と足しこまれる過程が見れると思ったのですが、  
実際には足しこまれる過程が見れません。  
そこでお伺いしたいのですが、PHPではflushと言う関数があり、画面に出力することが出来るのですが、  
JavaScriptにも同等の関数、または何かやりかたはありますでしょうか？  
よろしくお願いします。




例のコードの場合、クリックされたときに一気に実行されているため表示されるのは4になってしまいます。そこで、遅延をさせるためにsetTimeoutという関数を使います。

下のコードはsetTimeoutを再帰的に呼び出す例ですが、ボタンをクリックすると1秒ごとに1ずつ増えていき、4になると止まります。

[code]

    
    var button = document.getElementById("button");
    var elem = document.getElementById("output-text");
    button.onclick = function () {
        elem.innerHTML = 0;
        setTimeout(function incr() {
            var num = parseInt(elem.innerHTML);
            if (num < 4) {
                num++;
                elem.innerHTML = num;
                setTimeout(incr, 1000);
            }
        }, 1000);
    }
    
    
    
[/code]

参考  
[window.setTimeout - Web API インターフェイス |
MDN](https://developer.mozilla.org/ja/docs/Web/API/Window/setTimeout)




例のコードの場合、クリックされたときに一気に実行されているため表示されるのは4になってしまいます。そこで、遅延をさせるためにsetTimeoutという関数を使います。

下のコードはsetTimeoutを再帰的に呼び出す例ですが、ボタンをクリックすると1秒ごとに1ずつ増えていき、4になると止まります。

[code]

    
    var button = document.getElementById("button");
    var elem = document.getElementById("output-text");
    button.onclick = function () {
        elem.innerHTML = 0;
        setTimeout(function incr() {
            var num = parseInt(elem.innerHTML);
            if (num < 4) {
                num++;
                elem.innerHTML = num;
                setTimeout(incr, 1000);
            }
        }, 1000);
    }
    
    
    
[/code]

参考  
[window.setTimeout - Web API インターフェイス |
MDN](https://developer.mozilla.org/ja/docs/Web/API/Window/setTimeout)

