【问题标题】:Can I stop JavaScript function execution via global variables?我可以通过全局变量停止 JavaScript 函数的执行吗?
【发布时间】:2011-05-28 02:02:20
【问题描述】:

所以我通读了 this 一点,看起来 JavaScript 函数不能在运行中被显式终止。如果我有一个全局变量 window.currentlyProcessing 来管理它。

function contentsChanged()
{
    if( window.curentlyProcessing == true )
    {
        return;
    }
    window.curentlyProcessing = true;
    // DO STUFF
    window.curentlyProcessing = false;
}

由于contentsChanged 经常被调用,这会有效地阻止它自行运行吗?

【问题讨论】:

  • 您遇到的实际问题是什么导致您尝试这样做?为什么contentsChanged 经常被调用?
  • @cwolves - 每次击键都会调用它

标签: javascript


【解决方案1】:

Javascript 是单线程的 - 一次执行一个函数,该函数一开始就永远不会“超越自身”。 contentsChanged 将被调用,将执行到最后,然后会发生任何其他事情。

【讨论】:

  • 嗯,这不太正确 (bradkellett.com/p/javascript-worker-threads),虽然我不确定这是否是说你必须担心并发性。
  • @Jonathon 是的,但是您需要明确使用网络工作者,如果您这样做了,您就不会问这个问题。请原谅我让答案保持简单。
【解决方案2】:

如果逻辑已经在运行,这将阻止它运行。如果这是您需要做的,它应该可以工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-04
    • 1970-01-01
    • 2016-12-25
    • 1970-01-01
    • 2013-10-21
    相关资源
    最近更新 更多