使用Promises填充数组

时间:2016-10-06 17:33:27

标签: javascript mongodb multidimensional-array promise es6-promise

我需要创建一个Mongodb计数对象的大型二维数组。目前我有一个for循环来进行所有查询,然后我尝试使用Promise.then函数插入到数组中,但所有值都插入到最后一行,因为Promise.then使用索引状态at Promise完成的时间,而不是它被召唤的时间。因为它是一个2D数组,所以我不能只使用Array.push。修复此问题的一种方法是在调用时将值传递给Promise.then,但我没有看到这样做的方法。

这是我尝试的其中一件事的代码示例:

for(var x = startVal; x < endVal; x += stepSize) {
  array[i] = [x];
  db.collection('collection').find({fieldA: {$gt: x}).count().then(function(val) {array[i][1] = val;});
  db.collection('collection').find({fieldB: {$gt: x}).count().then(function(val) {array[i][2] = val;});
  i++;
}

0 个答案:

没有答案