gpt4 book ai didi

events - 为什么在函数调用上使用事件监听器?

转载 作者:行者123 更新时间:2023-12-04 01:45:32 25 4
gpt4 key购买 nike

我最近一直在研究事件监听器,我想我终于把它们弄下来了。基本上,它们是在另一个对象的方法上调用的函数。我的问题是,为什么在调用函数时创建事件监听器会正常工作?

例如,我想调用 player.display_health(),当它被触发时,应该触发并存储 player.get_health() 方法,以便 display_health() 可以访问它。为什么我应该使用事件监听器而不是简单地调用函数?即使 display_health() 在另一个对象中,这对我来说仍然不是问题。

如果您有另一个更适合用法的示例,请告诉我。也许特定的语言并没有从中受益? (Javascript、PHP、ASP?)

最佳答案

您可能无法始终控制进行调用的代码。或者即使是,您也不希望在该代码中引入依赖项。在这种情况下,最好让代码触发事件并允许您控制的代码或应该具有依赖关系的代码监听事件并采取相应的行动。

例如,也许您正在创建一个可供其他人使用的库。他们没有源代码,或者在某种程度上不能/不应该能够修改它(或不应该)。您的文档指出特定事件是在特定情况下引发的。然后,他们可以反过来对这些事件做出响应。

或者,您的企业中可能有一些域库。您确实可以控制它们并且可以修改它们,但从架构上讲,它们通常被认为是可以工作的,因为它们当前已编码并且不应更改。 (不想招致一轮 QA 来重新验证更新的代码,代码属于另一个部门,他们不希望您更改它,等等)而且您处于您想要的位置代码能够在不同的情况/环境中做不同的事情。如果该代码在相关的地方引发和事件,您可以将您的代码 Hook 到其中(和/或相应地换出),而不必弄乱该代码。

只是几个简单的例子,我相信其他人有更多。

关于events - 为什么在函数调用上使用事件监听器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4503723/

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