我必须用MongoDB查询来填充我的risultato json,因此在循环结束时我必须使用hapijs控制器返回risultato 。 如果我在年底返回我有这样的错误:如何使用hapijs和猫鼬在循环中返回一个值
Error:reply interface called twice
如果我使用返回圈外它返回:
var risultato = {
"models": [],
}
这是我的代码:
Myfunction: function(request, reply) {
var risultato = {
"models": [],
}
for(var i=0; i<3; i++){
Collections //this is a mongoose model
.findOne()
.where({_id: id]})
.populate('models')
.exec(function(err, result) {
risultato.models.push.apply(risultato, result.models);
console.log(risultato)
return reply(risultato)
});
}
};
我该怎么办?
谢谢,我会使用它,因为这种解决方案的作品,但它不是真正的好... :) –
的解决方案只是解决ü写的查询,正如我刚才所说,最好的办法是使用一个异步循环。 – ZeMoon
是的,我知道,非常感谢。 –