如何锁定AJAX函数重叠?

And*_*rew 5 javascript ajax

我有一个checkEvery15Seconds每15秒运行一次的功能.它会检查是否已将新注释添加到页面中.

我有一个表单,一旦按下提交按钮就提交新评论,然后在页面上显示新评论.

在添加新注释的过程中同时checkEvery15Seconds查询数据库,所以我最终在页面上有重复的注释(不是在数据库中,这纯粹是一个JavaScript问题).

checkEvery15Seconds在"submitComment"函数执行完毕后,如何让"submitComment"函数停止并重新启动它?

Phi*_*off 5

在两个函数都可以访问的范围内添加一个称为“ suspended15sCheck”的布尔值。在添加评论的同时启用它,然后再次将其设置为false。

在15sCheck功能中,您首先必须检查是否允许检查:-)

var suspend15sCheck = false;

function addComment()
{
  suspend15sCheck = true;

  // add comment on base of form data

  suspend15sCheck = false;
}

function myTimer()
{
    if(suspend15sCheck === false) 
    {

      // add comments via ajax request
      // remember to check if the comments who will be added already exist :-)

    }
}
Run Code Online (Sandbox Code Playgroud)