Я пытаюсь определить, являются ли эти два способа настройки этого раздела функции функционально эквивалентными - с точки зрения времени выполнения блока forEach()
.
ПРИМЕЧАНИЕ: «Клиент» здесь представляет модель Mongoose.
Вот первая конструкция функции:
async processRecords() {
// other code
while (recordsProcessed < recordsTotalCount) {
await Customer.find({
updatedAt: {
$gte: this.lastUpdateTime
}
})
.limit(recordsPerRun)
.skip(recordsProcessed)
.exec((err, docs) => {
docs.forEach((doc) => {
this.next(doc);
});
});
}
}
А вот и второй:
async processRecords() {
// other code
while (recordsProcessed < recordsTotalCount) {
request.parameters.skip = recordsProcessed;
request.parameters.limit = recordsPerRun;
let docs = await request.find(Customer, {
updatedAt: {
$gte: this.lastUpdateTime
}
});
docs.forEach(doc => {
this.next(doc);
});
}
}
В частности, мне любопытно, будет ли блок forEach()
работать иначе или одинаково. Для этих двух конструкций функции сначала будут «найдены» все записи, а затем forEach()
будет выполняться для каждой записи?