queryEach
Перебирает строки запроса и передает каждую строку в функцию обратного вызова на каждой итерации
queryEach(query, function(row [, currentRow] [, query] ){} [, parallel] [, maxThreads]) → returns void
Синтаксис функции-члена
query.each(function(row [, currentRow] [, query] ){} [, parallel] [, maxThreads])
Описание аргументов
query query Обязательный
запрос для перебора
callback any Обязательный
Замыкание или ссылка на функцию, которая будет вызываться на каждой итерации.
Параметры функции обратного вызова:
-
row* struct : Структура со всеми столбцами текущей итерации -
currentRow* numeric : Значение текущей итерации -
query* query : Ссылка на исходную структуру
parallel boolean
Lucee 4.5+ Выполняет замыкания параллельно
maxThreads numeric
По умолчанию: 20
20
Lucee 4.5+ Максимальное количество выполняемых потоков. Если аргумент
parallel имеет значение false, он будет проигнорирован Совместимость
Lucee:
При вызове в качестве функции-члена query.each() поддерживает цепочки вызовов.
Ссылки дополнительная информация о queryEach
- Map, Reduce и другие функции высшего порядка — введение в map, reduce, filter и функции высшего порядка в целом.
- ColdFusion 2016: функции итерации запросов — обзор функций высшего порядка, доступных для запросов
Примеры Пример кода с вызовом функции queryEach
ACF 2016+ и Lucee 5+
<cfscript>
news = queryNew("id,title",
"integer,varchar", [{
"id": 1,
"title": "Dewey defeats Truman"
}, {
"id": 2,
"title": "Man walks on Moon"
}]
);
function newsRow(row) {
writeOutput("<tr>");
writeOutput("<td>#row.id#</td>");
writeOutput("<td>#row.title#</td>");
writeOutput("</tr>");
}
</cfscript>
<table>
<cfscript>
queryEach(news,newsRow);
</cfscript>
</table> Ожидаемый результат: 1 Дьюи побеждает Трумэна 2 Человек ступил на Луну
Lucee 5+
<cfscript>
news = queryNew("id,title",
"integer,varchar", [{
"id": 1,
"title": "Dewey defeats Truman"
}, {
"id": 2,
"title": "Man walks on Moon"
}]
);
function newsRow(row) {
writeOutput("<tr>");
writeOutput("<td>#row.id#</td>");
writeOutput("<td>#row.title#</td>");
writeOutput("</tr>");
}
</cfscript>
<table>
<cfoutput>#queryEach(news,newsRow)#</cfoutput>
</table> Ожидаемый результат: 1 Дьюи побеждает Трумэна 2 Человек ступил на Луну
© 2012–present Foundeo, Inc. and the CFDocs contributors.
Licensed under the MIT License.
ColdFusion is a trademark of Adobe Systems Incorporated.
https://cfdocs.org/queryeach