为什么 cfreturn 之后的代码不在 CFC 中执行?
Why doesn't code after cfreturn execute in a CFC?
我已经创建了一个 CFC 来处理 return 评论回发到提交页面。它只是 return 返回浏览器的 JSON 评论字符串,然后使用 jQuery.
将其插入 DOM
不过,我也想发邮件通知作者有新评论发表了。我想在 JSON 被 return 发送到浏览器之后执行此操作,因为它会加快用户界面的速度,而不是在更新 DOM 之前必须等待电子邮件发送。
我目前正在对此进行测试,看不到 ColdFusion 会在 <cfreturn>
标记之后执行任何操作。例如,以下内容对我不起作用:
<cffunction>
....
<cfreturn NewComment/>
<!--- Anything after the cfreturn above doesn't seem to get executed --->
<cfmail to="somebody@domain.com" from="nobody@domain.com">
A new comment is available for you to read
</cfmail>
</cffuntion>
然而这确实有效:
<cffunction>
....
<cfmail to="somebody@domain.com" from="nobody@domain.com">
A new comment is available for you to read
</cfmail>
<cfreturn NewComment/>
</cffuntion>
这是怎么回事?我怎样才能实现我想要做的事情?如果我想做的不仅仅是发送电子邮件,那么 DOM 将在更新之前等待很长时间,这会使用户体验缓慢。
A return 结束函数的处理。 return 之后的任何内容都不会被处理。
我已经创建了一个 CFC 来处理 return 评论回发到提交页面。它只是 return 返回浏览器的 JSON 评论字符串,然后使用 jQuery.
将其插入 DOM不过,我也想发邮件通知作者有新评论发表了。我想在 JSON 被 return 发送到浏览器之后执行此操作,因为它会加快用户界面的速度,而不是在更新 DOM 之前必须等待电子邮件发送。
我目前正在对此进行测试,看不到 ColdFusion 会在 <cfreturn>
标记之后执行任何操作。例如,以下内容对我不起作用:
<cffunction>
....
<cfreturn NewComment/>
<!--- Anything after the cfreturn above doesn't seem to get executed --->
<cfmail to="somebody@domain.com" from="nobody@domain.com">
A new comment is available for you to read
</cfmail>
</cffuntion>
然而这确实有效:
<cffunction>
....
<cfmail to="somebody@domain.com" from="nobody@domain.com">
A new comment is available for you to read
</cfmail>
<cfreturn NewComment/>
</cffuntion>
这是怎么回事?我怎样才能实现我想要做的事情?如果我想做的不仅仅是发送电子邮件,那么 DOM 将在更新之前等待很长时间,这会使用户体验缓慢。
A return 结束函数的处理。 return 之后的任何内容都不会被处理。