【问题标题】:Populate objects from inside callbacks从回调内部填充对象
【发布时间】:2012-09-02 04:40:46
【问题描述】:

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

被诅咒的 javascript 闭包!

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

console.log(symbols);

【问题讨论】:

  • 是的,这是可能的。现在,.find() 调用可能是异步的,因此console.log() 可能什么也不打印。

标签: javascript node.js mongoose


【解决方案1】:

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

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

【讨论】:

  • 谢谢!我不知道异步
猜你喜欢
  • 2020-12-22
  • 1970-01-01
  • 2019-08-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-11
相关资源
最近更新 更多