为了账号安全,请及时绑定邮箱和手机立即绑定

返回从循环中调用的DB查询中检索的数据时发出的问题

返回从循环中调用的DB查询中检索的数据时发出的问题

叮当猫咪 2019-07-08 12:57:29
返回从循环中调用的DB查询中检索的数据时发出的问题我在循环中进行多个MongoDB查询。但是当我简单地使用返回来发送数据时,它只是返回未定义的结果,而不是等待所有DB请求的结果。我也试着用q.mode,但同样的问题。代码:var getPrayerInCat = function(data){     var result ;     var finalData = [];     if(data.length >0){              data.forEach(function(data2){                  var id= data2.id;                  Prayer.find({prayerCat:id},function(err,prayer){                      var deferred = Q.defer()                      if (err) { // ...                          console.log('An error has occurred');                          // res.send(err);                          result= finalData = err                     } else {                          if(!prayer){                              // console.log(data2.id+'--0');                              data2.prayersCount = 0;                              result = deferred.resolve(finalData.push(data2))                          } else {                              // console.log(data2.id+'--'+prayer.length);                              data2.prayersCount = prayer.length;                              // console.log(prayer)                              result =  deferred.resolve(finalData.push(data2))                          } // else for data forward                      }                      deferred.promise;                  })                 // deferred.resolve(finalData);              })              /*if(finalData.length > 0) { return finalData;}*/         }}未定义返回finalData。
查看完整描述

3 回答

?
莫回无

TA贡献1865条经验 获得超7个赞

getPrayerCat(‘).然后(函数(数据){getPrayerInCat(数据)}).然后(函数(Data 2){sole.log(Data 2)})var getPrayerInCat=function(Data){var结果;var finalData=[];if(data.ength>0){var答应=data.map(GetPrayerCount);返回Q.all(许诺);} 

查看完整回答
反对 回复 2019-07-08
  • 3 回答
  • 0 关注
  • 645 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信