当函数满足某些条件时使用clearInterval函数

时间:2020-05-31 12:05:15

标签: javascript jquery ajax setinterval clearinterval

当函数满足某些条件时如何使用clearInterval函数?

代码:-

var checkRecordlock = function() {
  jQuery.ajax({
    url: "http://localhost/project/crl/Mzk="
  }).done(function(data) {
    var is_locked = data.locked;
    if (is_locked == 1) {
      alert("Locked");
    }
  });
}

checkRecordlock();
var checkRecordlockIntervalId = setInterval(checkRecordlock, 100);

如果is_locked == 1,我想清除函数的间隔。

2 个答案:

答案 0 :(得分:0)

checkRecordlock();
var checkRecordlockIntervalId = setInterval(checkRecordlock, 100);

function checkRecordlock() {
  jQuery.ajax({
    url: "http://localhost/project/crl/Mzk="
  }).done(function(data) {
    var is_locked = data.locked;
    if (is_locked == 1) {
      clearInterval(checkRecordlockIntervalId);
    }
  });
}

答案 1 :(得分:0)

您无需在间隔前致电checkRecordlock。为了在条件达到时停止它,请使用clearInterval并将其传递给checkRecordlockIntervalId。这是一个示例:

var checkRecordlock = function() {
    is_locked++;
    console.log(is_locked);
    if (is_locked == 10) {
      alert("Locked");
      clearInterval(checkRecordlockIntervalId)
    }
}
let is_locked = 0;
//checkRecordlock();
var checkRecordlockIntervalId = setInterval(checkRecordlock, 100);