【发布时间】:2021-02-19 09:39:39
【问题描述】:
我在 mongoose 中使用 async' 有点麻烦。基本上我的代码如下:
function() {
SchemaOne.findById(fooIdOne).exec().then( x => {
// Some first instructions
myCollection.foreach( y => {
SchemaTwo.findById(fooIdTwo).exec().then( z => {
// Some second instructions
});
});
}).then(() => {
// Code to execute after
});
}
在这里,我希望在“要执行的代码”之前制作“第一条指令”和“第二条指令”,但最后一个“然后”似乎并没有等待第二条指令的制作。
需要一点帮助! 非常感谢 !凯夫'。
【问题讨论】:
-
你永远不会返回这个承诺,所以最后一个 then 将在第一个 then 之后立即执行
-
所以在这里我应该找到一种方法将“SchemaTwo.findById”与“SchemaOne.findById”置于同一级别以解决此问题?因为我需要在 foreach 中进行第二个查询,这使它变得更加复杂
标签: javascript mongodb mongoose mongoose-schema