Node.js |在异步迭代不起作用时向数组条目添加值

时间:2017-10-19 16:14:20

标签: javascript arrays node.js async.js

这可能是一个愚蠢的问题,但我希望我仍然可以得到你们的帮助。我有这个函数来计算每次下注的获胜机会:

module.exports.getWinner = function(round, callback) {
  async.eachOf(round.bets, (bet, id, cbBet) => {
    round.bets[id].chance = (round.bets[id].value / round.value) * 100;
    cbBet();
  }, (err) => {
    if (err) {
      callback(new Error(`Error iterating through bets array`));
      return;
    }
    console.log(round.bets);
  });
}

我正在使用异步库来异步迭代我的数组(round.bets)。对于该阵列中的每次下注,我计算一个获胜机会,然后我将其附加到该下注。但是当迭代完成后我在console.log数组中完成时,机会并没有附加到赌注上。我做错了什么?

1 个答案:

答案 0 :(得分:0)

解决

我的round.bets [x]对象的mongoose模型没有包含“机会”字段。这就是机会没有保存到对象的原因。