如何等待直到变量不为空

时间:2019-03-12 09:07:13

标签: jquery

$(function () {
let check = function() {
    setTimeout(function () {
        if (cLANGUAGE == null)
            check();
    }, 500);
};
if (cLANGUAGE == null) check();
alert(cLANGUAGE);

$('#details--action-share').on('click', function () {
    Action.details.share.before();
});
});

当我这样写的时候,它仍然提醒cLanguage为空。我想等到cLanguage不为null,然后在代码

下运行
$('#details--action-share').on('click', function () {
    Action.details.share.before();
});). 

我该怎么做?

2 个答案:

答案 0 :(得分:2)

else评估为=== null的情况下,将所有依赖于它的代码不为空的代码放在false块中:

let check = function() {
  setTimeout(function () {
    if (cLANGUAGE === null)
      check();
    else {
      alert(cLANGUGAGE);
    }
  }, 500);
};
check();

答案 1 :(得分:0)

您可以像这样使用true/false布尔值

$(function () {
   var Checked = false; // set checked here to false
   let check = function() {
    setTimeout(function () {
        if (cLANGUAGE == null){
            check();
        }else{
            Checked = true; // change it here to true
        }
    }, 500);
  };
  if (cLANGUAGE == null) check();
  alert(cLANGUAGE);

  $('#details--action-share').on('click', function () {
     if(Checked === true){ // or just if(checked) to check if its true
        Action.details.share.before();
     }
  });
});