Spec-Zone.ru › ColdFusion

queryEach

Перебирает строки запроса и передает каждую строку в функцию обратного вызова на каждой итерации

queryEach(query, function(row [, currentRow] [, query] ){} [, parallel] [, maxThreads]) → returns void

Синтаксис функции-члена

query.each(function(row [, currentRow] [, query] ){} [, parallel] [, maxThreads])

  • CF2016+
  • Lucee
  • BL 1.0.0+
  • См. также: QueryMap QueryReduce QueryFilter

    Описание аргументов

    query query
    Обязательный

    запрос для перебора

    callback any
    Обязательный

    Замыкание или ссылка на функцию, которая будет вызываться на каждой итерации.

    Параметры функции обратного вызова:

    • row* struct : Структура со всеми столбцами текущей итерации
    • currentRow* numeric : Значение текущей итерации
    • query* query : Ссылка на исходную структуру

    parallel boolean

    Lucee 4.5+ Выполняет замыкания параллельно

    maxThreads numeric
    По умолчанию: 20

    Lucee 4.5+ Максимальное количество выполняемых потоков. Если аргумент parallel имеет значение false, он будет проигнорирован

    Совместимость

    Lucee:

    При вызове в качестве функции-члена query.each() поддерживает цепочки вызовов.

    Ссылки дополнительная информация о queryEach

    • Map, Reduce и другие функции высшего порядка — введение в map, reduce, filter и функции высшего порядка в целом.
    • ColdFusion 2016: функции итерации запросов — обзор функций высшего порядка, доступных для запросов

    Примеры
    Пример кода с вызовом функции queryEach

    Перебор строк запроса вместо cfloop()

    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 Человек ступил на Луну

    Перебор строк запроса вместо cfloop()

    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

    Spec-Zone.ru

    Настройки Оффлайн Что нового Помощь О нас
    Spec-Zone .ru
    спецификации, руководства, описания, API