Команда ReQL: each
Синтаксис команды
cursor.each(callback[, onFinishedCallback]) array.each(callback[, onFinishedCallback]) feed.each(callback)
Описание
Лениво итерируется по результатам набора данных по одному элементу за раз. Второй обратный вызов является необязательным и вызывается, когда итерация завершается (когда больше нет строк или когда обратный вызов возвращает false).
Пример: Обработаем все элементы!
cursor.each(function(err, row) {
if (err) throw err;
processRow(row);
});
Пример: Если нам нужно знать, когда итерация завершена, each также принимает второй onFinished обратный вызов.
cursor.each(function(err, row) {
if (err) throw err;
processRow(row);
}, function() {
doneProcessing();
}
);
Пример: Итерация может быть преждевременно остановлена, возвращая false из обратного вызова. Например, если вы хотите остановить итерацию, как только row становится отрицательным:
cursor.each(function(err, row) {
if (err) throw err;
if (row < 0) {
cursor.close()
return false;
}
else {
processRow(row)
}
});
Примечание: Вам нужно вручную закрыть курсор, если вы преждевременно остановили итерацию.
© RethinkDB contributors
Licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
https://rethinkdb.com/api/javascript/each/