Javascript 循环移动过快的NodeJs

Javascript 循环移动过快的NodeJs,javascript,node.js,Javascript,Node.js,我需要帮助解决我的代码中的一个问题,for循环运行得太快而忽略了其中的代码 setTimeout(function() { SendPHtml = ""; for (var e = CurrentGame; e >= CurrentGame - 4; e--) { //console.log(d); // acutally does work (function () { var k = e;

我需要帮助解决我的代码中的一个问题,for循环运行得太快而忽略了其中的代码

setTimeout(function() {
    SendPHtml = "";
    for (var e = CurrentGame; e >= CurrentGame - 4; e--) {
        //console.log(d); // acutally does work
        (function () {
            var k = e;
            connection.query("SELECT * FROM `game" + e + "` ORDER BY id;", function(err, rows, fields) {
                if (err) throw err;
                SteamIdCheck = "";
                ItemsAdd = 0;
                ItemCostT = 0;
                SendPHtml += '<div class="round">';
                //console.log(k);
                //console.log(CurrentGame);
                if(CurrentGame != k) {
                    SendPHtml += '<div class="winner"><div class="winner-background"></div><div class="winner-wrapper">';
                    SendPHtml += '<p class="winner-text text-center"><img src="' + ServerWidePData[GameHistory[k].userid].avatar + '" alt="" rel="nofollow"> ' + ServerWidePData[GameHistory[k].userid].name + ' won $' + GameHistory[k].cost + ' with a chance of ' + GameHistory[k].percent + '%</p>';
                    SendPHtml += '<p class="winner-info text-left">Total Items: ' + GameHistory[k].itemsnum + ' | Percentage: ' + GameHistory[k].module + '%</p></div></div>';
                }
                for (var d = 0; d < rows.length; d++) {

                    (function () {
                        var gg = d;
                        if(gg == 0) {
                            ItemsAdd = 0;
                            ItemCostT = 0;
                            ItemCostT = ItemCostT + rows[gg].cost;
                            SteamIdCheck = rows[gg].userid;
                            //console.log("Clean: " + SteamIdCheck);
                            AddStart = true;
                            SendPHtml += '<div class="bet"> <table class="table-bet"><tbody><tr> <td class="level hidden-xs hidden-sm">';
                            SendPHtml += '<span>' + ServerWidePData[rows[gg].userid].level + '</span> </td> <td class="icon"> <img src="#AVATARIMG" alt="Icon" rel="nofollow" style="border-bottom:3px solid #955ad3;">';
                            SendPHtml += '</td> <td>Icessss deposited PENISCABOTAGE skins valued at $35.46</td> <td onclick="DisplayItems(\'citems\')" class="time"><i class="fa fa-arrow-down"></i></td>';
                            SendPHtml += '</tr></tbody></table><div id="citems" class="items" style="display: none;"> ';
                        }
                        if(rows[gg].userid == SteamIdCheck) {
                            ItemsAdd++;
                            console.log("Clean: " + SteamIdCheck);
                            ItemCostT = ItemCostT + rows[gg].cost;
                            SendPHtml += '<div class="col-xs-6 col-sm-6 col-md-6 col-lg-4">';
                            SendPHtml += '<div class="item"> <img src="#ITEMPICTURE" alt="" class="img-responsive" rel="nofollow" width="120" height="100"> <div class="price">$2</div>';
                            SendPHtml += '<div class="name">' + rows[gg].item + '</div> </div> </div>';
                        } else {
                            SteamIdCheck = rows[gg].userid;
                            ItemCostT = ItemCostT + rows[gg].cost;
                            if(AddStart) {

                                SendPHtml = SendPHtml.replace("PENISCABOTAGE", ItemsAdd);
                                AddStart = false;
                            }
                            ItemsAdd = 0;
                            ItemsAdd++;
                            SendPHtml += '<div class="col-xs-6 col-sm-6 col-md-6 col-lg-4">';
                            SendPHtml += '<div class="item"> <img src="#ITEMPICTURE" alt="" class="img-responsive" rel="nofollow" width="120" height="100"> <div class="price">$2</div>';
                            SendPHtml += '<div class="name">StatTrak™ USP-S | Torque (Minimal Wear)</div> </div> </div>';
                            SendPHtml += '<div class="clearfix"></div> </div> </div>';
                            SendPHtml += '<div class="bet"> <table class="table-bet"><tbody><tr> <td class="level hidden-xs hidden-sm">';
                            SendPHtml += '<span>' + ServerWidePData[rows[gg].userid].level + '</span> </td> <td class="icon"> <img src="#AVATARIMG" alt="Icon" rel="nofollow" style="border-bottom:3px solid #955ad3;">';
                            SendPHtml += '</td> <td>Ice deposited ' + ItemsAdd + ' skins valued at $35.46</td> <td onclick="DisplayItems(\'citems\')" class="time"><i class="fa fa-arrow-down"></i></td>';
                            SendPHtml += '</tr></tbody></table><div id="citems" class="items" style="display: none;"> ';

                        }
                        if( gg == rows.length - 1 ) {
                            SendPHtml += '<div class="clearfix"></div> </div> </div>';
                        }
                    }());
                }
                SendPHtml += '<div class="new"><h3>New round started</h3><h4>Game: ' + k + '</h4></div>';
                SendPHtml += '</div>';
            });
        }());
    }

    console.log("Current player list...");
}, 2000);

当我最后收到的垃圾邮件应该不止76561198072300099封。

这是一个极端的缩进。您可能希望编辑代码以使其更易于阅读。它是如何运行得太快的?哪个环路移动得太快?e的
或d的
循环?并不是说在这些循环中有任何东西可以“减慢”它们,所以我的问题实际上是出于好奇,想知道当console.log(“Clean:+SteamIdCheck”)时,d没有输出正确的信息,所以您认为哪个循环应该“减慢”;是的,你这么说。。。但你也说它移动得太快了。。。哪一个循环移动得太快了?您认为它会以多快的速度移动?我刚才复制了代码的一部分而不是全部缩进,这也很抱歉:(这是一些极端的缩进。您可能希望编辑代码以使其更易于阅读。它是如何移动得太快的?哪个循环移动得太快?e的
循环或d的
循环?这些循环中没有任何“慢”的东西。)因为当console.log(“Clean:+SteamIdCheck”)运行时,d没有输出正确的信息,所以我的问题实际上是出于好奇,想知道您认为哪个循环应该“慢一点”;是的,你这么说……但你也说它移动得太快了……哪个循环移动得太快了,你认为它会以多快的速度移动?还有,我刚才复制了代码的一部分,但不是全部:(
Clean: 76561198100159702
Clean: 76561198062051242
Clean: 76561198072300099
Clean: 76561198072300099
Clean: 76561198072300099
Clean: 76561198072300099
Clean: 76561198072300099
Clean: 76561198072300099
Clean: 76561198072300099