从回调内部填充对象

时间:2012-09-01 16:30:11

标签: javascript node.js mongoose

很简单,可以从回调内部填充对象符号吗?

诅咒javascript的封闭!

var symbols = {};
markets.find(function(err, markets) {
   for(var market in markets) {
     symbols[markets[market].symbol] = markets[market].label;
   }
});

console.log(symbols);

1 个答案:

答案 0 :(得分:0)

async/waterfall是解决此问题的正确方法。由于.find()是异步的,你也可以做一个forEach:

markets.forEach(function(m) {
  symbols[m.symbol] = m.label;
});