在我被要求在冷融应用程序中查看一些奇怪的间歇性错误之前没有使用过coldfusion.
在阅读了范围后,我认为问题是因为我的cfc函数中没有变量使用var关键字,并且在各种函数中使用相同的变量名.因此,据我所知,变量在页面级别作用域,调用这些函数的不同线程将覆盖导致"奇怪"问题的变量.
我的问题是这样做的正确方法是什么?
<cfset var listCount = 0>
<cfquery name="qGetElementsByType" dbtype="query" maxrows="#arguments.num_to_return#">
SELECT elementId,
title, PIhtml, Rerhtml,
text, url, image, Rank, isPoll, pollId, subjectId
FROM arguments.element_query
WHERE <cfloop list="#arguments.element_type_id#" index="lcv">
<cfif listCount GT 0>
OR
</cfif>
subjectid = #lcv#
<cfset listCount = listCount + 1>
</cfloop>
</cfquery>
Run Code Online (Sandbox Code Playgroud)
是否var需要每个listCount变量设置,或者只是在最初宣布的时间将被添加?