JavaScript - 如何使用 Setters 和 Getters 来创建侦听器



在被标记为重复之前:我整天都在阅读有关此的帖子,所以我知道SO上有很多类似的问题,但到目前为止,我没有看到任何涉及我需要了解的细节。

话虽如此,没有关于该过程如何工作的良好评论示例。有人可以用一个注释良好的示例来回答以下问题,以便我最终理解这种能力吗?

我有一个函数,我想在一个文件中调用它,但我需要确保在调用它之前另一个文件中的另一个事件已经发生。这些文件没有连接(一个是启动应用程序的 angular 2 TypeScript 文件,另一个是管理跳房子之旅的 JS 文件)。我知道我需要使用全局变量,我相信我读过的最佳解决方案将涉及使用二传手和getter。我看到的所有例子似乎都假设它只是直观的,而省略了我了解它是如何工作的部分。也许这是直观的,但我还没有实现飞跃。

TypeScript 文件中的全局变量:

global_variable = false;

我想根据侦听器在 JavaScript 文件中调用的函数:

function call_if_other_function_finishes() {
if (global_variable === true) { // I have the global already created
// run hopscotch tour
}
} // how do I turn this into a listener?  

我需要首先在 TypeScript 文件中完成的函数:

function someFunction() {
// run its code   
GlobalFile.global_variable = true; // Should trigger the listener.
}

提前感谢!!

一种解决方案是像在示例中一样定义函数,然后在需要时运行它:

function someFunction() {
// run its code
call_if_other_function_finishes() // it's globally defined anyway
}

最新更新