gpt4 book ai didi

coldfusion - 在远程 CFC 方法中使用 "var this"

转载 作者:行者123 更新时间:2023-12-01 10:05:24 24 4
gpt4 key购买 nike

我继承了一个项目,其中有许多远程 CFC 为一些 Ajax 请求打开,内部 CFC 中的大多数方法具有以下内容:

<cfset var this.response = true />

现在我从未见过 varthis scope 像这样一起使用所以我真的不知道该怎么做所以我想我的问题是:

编码方式是否存在任何问题?如果是这样,它们是否足够重要以至于我应该加入将所有 CFC 更新为类似 <cfset var
req.response = true />
的努力?

这是我所看到的一个简单示例:

<cfcomponent>

<cffunction name="check_foo" access="remote" returnformat="plain">

<cfargument
name = "isfoo"
type = "string"
required = "false"
default = "nope"
hint = "I check the string for foo"
/>

<cfscript>

/*setup new response*/
var this.response = false;

/*check for foo*/
if( !findnocase( "foo", arguments.isfoo ) ) {

/*no foo!*/
this.response = false;

}

return this.response;

</cfscript>

</cffunction>

</cfcomponent>

.


更新:

  1. 根据下面的反馈/答案,我替换了所有 var this 的实例.再次感谢所有提供帮助的人!

.


最佳答案

更新:检查转储后,var this 中的“this”仍然是 this this 作用域,而不是 local.this。

它正在设置对 this 范围的响应,它在这种情况下有效,因为 CFC 每次被远程调用时都会被实例化。但是,最好将 this 重命名为其他名称以确保线程安全,以防其他 CFC 作为公共(public)方法调用该方法。

关于coldfusion - 在远程 CFC 方法中使用 "var this",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11403555/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com