【发布时间】:2015-09-11 01:59:38
【问题描述】:
我正在尝试使用 q promise 库同时运行两个 mongoose 查询。我希望独立进行这两个查询,然后在两个查询完成后使用结果执行一个函数。
我试图以这种方式设置 q.all(),但结果始终是 then() 中的状态未决。我需要已解决的查询结果而不是待处理的承诺。
var q = require('q');
var promises = {
aircraft: q(aircraftModel.findOne({_id: tailNumber})
.exec()),
faaAircraft: q(faaAircraftModel.findOne({_id: tailNumber.substring(1)})
.exec())
};
q.all(promises).then(function(result){
console.log(result)
}, function(err){
console.log(err)
})
结果是下面未决承诺的对象,而不是值。如何获取 MongoDB 针对这些查询返回的值?
{ aircraft: { state: 'pending' },
faaAircraft: { state: 'pending' } }
function(err){} 永远不会被执行。
【问题讨论】:
标签: javascript mongoose q