我以前没有使用过 cfthread,但我使用以下代码但它不起作用。
<cfloop from="1" to="5" index="local.pageNo">
<cfthread name="thr#local.pageNo#" threadIndex="#local.pageNo#" action="run">
<cfif local.pageNo GT 1>
<cfhttp url="#local.apiURL#&page=#local.pageNo#" method="get" result="local.myResults" >
</cfhttp>
<cfset local.myResponse = deserializejson(local.myResults.filecontent)>
</cfif>
<cfloop from="1" to="#arrayLen(local.myResponse.result)#" index="i">
<cfset local.apartmentList = listAppend(local.apartmentList,local.myResponse.result[i].id & '-0')>
</cfloop>
</cfthread>
</cfloop>
<cfthread action="join" name="thr1,thr2,thr3,thr4,thr5"/>
我期望 local.apartmentList 是一个很大的 ID 列表,但它返回空。这几乎就像线程内的代码被跳过一样。有人能发现我做错了什么吗?
当你使用时<cfthread>
,这些标签内的代码与其周围的代码不在同一上下文中运行。因此,您需要将打算使用的任何变量传递给它(作为<cfthread>
标签),或通过请求范围“共享”它们。
So your <cfthread>
块不知道变量是什么local.pageNo
are.
任何错误发生在<cfthread>
处理过程会被记录下来,因此您需要查看日志以了解出现了哪些错误。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)