javascript - 如何将 Promise.all().then 返回给函数

标签 javascript

我正在尝试将 Promise.all() 返回给一个函数。我尝试了不同的方法,但它显示错误

这是我的代码

// All this iam doing in my server side controller
Promise = require('bluebird');

function countByTitle(accrdnArray) {
  console.log(accrdnArray) // array of objects is printing here
  var arrayCount = countfunc(accrdnArray);
  console.log(JSON.stringify(arrayCount)) // here it is not printing showing error 
}

function countfunc(accrdnArray) {
  var array = [];
  for (var i = 0; i < accrdnArray.lenght; i++) {
    var heading = accrdnArray[i].name;
    array.push(mongoCount(heading));
  }

  return Promise.all(array).then(resultantCount => {
      console.log(JSON.stringify(resultantCount)); // resultanCout printing here
      return resultantCount
    })
    // Here i want to return the resultantCount to above function.        
}

function mongoCount(heading) {
  var mongoQuery = {
    "ProCategory.title": heading
  }
  return Collection.count(mongoQuery).then(function(count) {
    return {
      name: categoryTitle,
      count: count
    };
  });
}

最佳答案

return Promise.all(array).then(resultantCount =>{
    console.log(JSON.stringify(resultantCount )); // resultanCout printing here
    return resultantCount;
});

这部分代码返回一个 Promise 对象。因此,您必须在 countByTitle 函数中再次使用 .then()

function countByTitle(accrdnArray) {
  console.log(accrdnArray) // array of objects is printing here
  var arrayCount = countfunc(accrdnArray);
  arrayCount.then(function(count) {
    console.log(JSON.stringify(count));
  });
}

关于javascript - 如何将 Promise.all().then 返回给函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40435653/

相关文章:

javascript - React setState inside componentDidUpdare 导致超出最大更新深度

javascript - 如何将数组发送到存储过程?如果我从JS发送数据,最好的数据格式是什么?

javascript - 如何从网页调用 exe(HTML、JavaScript)

Javascript 发布者/订阅者模式示例

javascript - jquery if list equal 1 删除按钮

javascript - 所有浏览器似乎都忽略 JavaScript 客户端表单验证规则

javascript - 如何阻止图像相互堆叠

javascript - Angularjs 应用程序中的 ngTable

Javascript 变量返回未定义

javascript - 流类型: Get object property names based on flow-types