このコードを (nodejs で) 実行すると、「カウント」の値が大きいと「カウント」が負になります。犯人は「伯爵」か「鎖」か。setTimeout() の後に次の呼び出しをスケジュールするように、「flood」関数を記述する正しい方法は何ですか。
flood = function( count) {
chain = function() {
--count;
console.log("Count " + count)
if( count > 0 ) {
setTimeout(chain, 1);
}
};
chain();
}
runit = function (count,par) {
console.log("RUNIT: " + count + " , " + par )
for( var i = 0 ; i < par ; i ++ ) {
flood(count)
}
}
runit(3,4)
ありがとう
更新: setTimeout(chain,1) の代わりに chain() を呼び出すと、カウントが負になることはありません。