我有一段代码,我正在尝试 break
for 循环,但我不能。这就是它位于 if
内的原因如果是这样那么另一种方式是什么?
var myMessages = [];
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 });
break; //Break Is Here
} else {
console.log('» Tried to create deposit, but',err);
myMessages.push("Problem");
res.json({ error: err });
}
}
}
});
} else {
console.log('» Tried to create deposit, but no bot found(2)');
myMessages.push("Available bot not found(2)");
}
}
} else {
console.log('» Tried to create deposit, but no bot found');
myMessages.push("Available bot not found");
}
} catch(e){
return res.json({ error: e.message, stack: e.stack });
}
console.log(JSON.stringify( myMessages));
最佳答案
您的中断位于关闭回调内,您在那里尝试的操作是不可能的。循环时不会调用回调。即使是,它也是一个不同的词法作用域,它失去了打破循环的访问权限。
关于javascript - 因为 if 无法中断 for 循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41466384/