Javascript Make For Loop更改号码

时间:2017-01-04 01:51:06

标签: javascript

我这里有一段代码:

    for(var i = 0; i < bots.length; i++){
        if ( bots[i].getInventory().getItems().length < capacity ){  
            var executed = false;
            bots[i].createDeposit({
                steamid: req.query.steamid,
                token: req.query.token,
                itemsFromThem: uniqueItems,
                message: req.query.message,
                callback: function( err, dbTradeId ){
                    if ( !executed ){
                        executed = true;
                        if ( !err && dbTradeId ){
                            res.json({ result: 1, dbTradeId: dbTradeId });   
                        } else {
                            console.log('» Tried to create deposit, but',err);
                            res.json({ error: err });                    
                        }
                    }
                }
            });
        } else {
            console.log('» Tried to create deposit, but no bot found(2)');
            return res.json({ error: 'Available bot not found(2)' });
        }
    }

问题在于。我有for循环,但我无法通过if,但机器人有足够的长度。是这样的,如果一个人会失败,它就不会为别人测试,如果它有这样的方法可以做到这一点,如果一个失败它会尝试另一个,如果它成功,那么它不会尝试。

此致

1 个答案:

答案 0 :(得分:0)

return会破坏你的else语句中的循环。

尝试使用数组添加消息,然后在循环退出后调用该数组。

类似

var myMessages = [];
for(var i = 0; i < bots.length; i++){
    if ( bots[i].getInventory().getItems().length < capacity ){  
    // your code
    }else{
      myMessages.push("error": bot[i]);
    }
}
console.log(JSON.stringify( myMessages));