У меня проблема с моим кодом. Он переходит ко второму разделу .then
без выполнения первой работы. После этого он возвращается к первому обещанию, но никогда не выполняет код внутри второго .then
Promise.all(jobs).then((values) => {
console.log("First!")
values.forEach(function(vals) {
vals.forEach(function(doc) {
if (doc.properties.location_i.toString() == request.body.id) {
jobs_do.push(dbo.collection("zones").find({
"geometry": {
$geoIntersects: {
$geometry: {
type: "Point",
coordinates: [
docs[values.indexOf(vals)].geometry_do.coordinates[0],
docs[values.indexOf(vals)].geometry_do.coordinates[1]
]
}
}
}
}))
}
})
})
}).then(function() {
console.log("Second!")
Promise.all(jobs_do).then((values) => {
values.forEach(function(vals) {
vals.forEach(function(doc) {
console.log(doc.properties.objectid);
});
})
});
});
Он выполняет массив jobs_do
, но Promise.all(jobs_do).then((values))
выполняется один раз, когда jobs_do
пусто.
Журнал консоли:
First!
Second!