【发布时间】:2017-11-27 08:53:06
【问题描述】:
假设我需要找一些学生:
var promise = Student.find({..}).exec();
然后我需要访问单独引用它们的文档并将它们嵌入返回:
promise.then(function(students) {
var promises = [];
students.forEach(function(student) {
var groupPromise = Group.find({ studentRef: student._id }).exec();
groupPromise.then(function(group) {
...
student.embed = group;
return student;
});
promises.push(groupPromise);
});
return Promise.all(promises);
}).then(function(result) {
// expect result to be array of students, with { embed: group }
// instead result is array of groups
});
我在弄清承诺方面已经走了很长一段路,但我错过了一些东西。我希望groupPromise.then(...) 在Promise.all(...) 可以被评估之前执行。显然不是这样,我需要一种方法来确保每个student 都嵌入了正确的group。
【问题讨论】:
-
在 stackoverflow 上,您不会将答案放入您的问题中。问题就是问题。答案就是答案。您可以编辑您的问题以澄清问题。如果您最终使用没有其他人在他们的答案中向您展示如何做的解决方案,您甚至可以做出自己的答案。但是,你没有把答案放在你的问题中。请删除解决方案信息。是的,这与其他一些系统不同。 stackoverflow 有自己的做事方式。
-
@jfriend00 完成
标签: javascript mongoose promise