Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/453.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery每隔几秒钟执行一次操作,除非对象中的所有值都为true_Javascript_Jquery - Fatal编程技术网

Javascript Jquery每隔几秒钟执行一次操作,除非对象中的所有值都为true

Javascript Jquery每隔几秒钟执行一次操作,除非对象中的所有值都为true,javascript,jquery,Javascript,Jquery,我有以下代码: var obj = { eins : false, zwei : false, drei : false }; $.each(obj, function (k, v) { if (!v) { console.log(false); } }); 现在我要做的是:检查obj中的所有值是否都是真的。如果他们正在这样做,如果他们没有,请再试一次 我试着将setInterval和$都弄乱,但无法使其同步运行 您根本不需要使用$.each()。for(


我有以下代码:

var obj = { 
    eins : false,
  zwei : false,
  drei : false
}; 

$.each(obj, function (k, v) {
  if (!v) {
    console.log(false);
  }
});
现在我要做的是:检查obj中的所有值是否都是真的。如果他们正在这样做,如果他们没有,请再试一次


我试着将setInterval和$都弄乱,但无法使其同步运行

您根本不需要使用$.each()。for(…in…)在以预定义间隔调用的函数中非常有效

var obj = {
    eins: false,
    zwei: false,
    drei: false,
};

var id = setInterval(function() {
    for(var key in obj) {
        if(obj[key] === false) return;
    }
    // No property was false
    clearInterval(id);
    // do anything you want here
}, 1000);

如果需要在检查后检索值,请查看Promise类:)

您根本不需要使用$.each()。for(…in…)在以预定义间隔调用的函数中非常有效

var obj = {
    eins: false,
    zwei: false,
    drei: false,
};

var id = setInterval(function() {
    for(var key in obj) {
        if(obj[key] === false) return;
    }
    // No property was false
    clearInterval(id);
    // do anything you want here
}, 1000);

如果您需要在检查后检索值,请查看Promise类:)

刚刚创建了一个简单的演示

var obj={
艾因斯:错,
中伟:错,,
德雷:错
};
var doStuffTimer=setInterval(函数(){
$。每个(对象、功能(k、v){
如果(!v){
$(“#logger”).append(“obj.eins=”+obj.eins+“obj.zwei=”+obj.zwei+“obj.drei=”+obj.drei+”

); } }); $(“#logger”)。追加(“------------

”; },3000),//每3秒检查一次 flagTimer=setInterval(计时器下面的函数(){/*仅用于演示目的*/ 如果(!obj.eins){ obj.eins=真; }否则如果(!obj.zwei){ obj.zwei=真; }否则如果(!obj.drei){ obj.drei=真; }否则{ $(“#logger”).append(“最终结果:obj.eins=”+obj.eins+“obj.zwei=”+obj.zwei+“obj.drei=”+obj.drei+”

); clearInterval(flagTimer); clearInterval(doStuffTimer);//清除doStuffTimer;我们不想让计时器一直运行 } }, 5000); //每5秒更改一次标志。。仅用于演示目的
p{
保证金:2倍;
填充:0;
}

刚刚创建了一个简单的演示,演示了您正在尝试的内容

var obj={
艾因斯:错,
中伟:错,,
德雷:错
};
var doStuffTimer=setInterval(函数(){
$。每个(对象、功能(k、v){
如果(!v){
$(“#logger”).append(“obj.eins=”+obj.eins+“obj.zwei=”+obj.zwei+“obj.drei=”+obj.drei+”

); } }); $(“#logger”)。追加(“------------

”; },3000),//每3秒检查一次 flagTimer=setInterval(计时器下面的函数(){/*仅用于演示目的*/ 如果(!obj.eins){ obj.eins=真; }否则如果(!obj.zwei){ obj.zwei=真; }否则如果(!obj.drei){ obj.drei=真; }否则{ $(“#logger”).append(“最终结果:obj.eins=”+obj.eins+“obj.zwei=”+obj.zwei+“obj.drei=”+obj.drei+”

); clearInterval(flagTimer); clearInterval(doStuffTimer);//清除doStuffTimer;我们不想让计时器一直运行 } }, 5000); //每5秒更改一次标志。。仅用于演示目的
p{
保证金:2倍;
填充:0;
}

简单循环,查看对象是否全部为真,确定步骤所需的全部是if/else

var obj={
艾因斯:错,
中伟:错,,
德雷:错
}; 
//函数调用以查看代码是否已更新
函数检查(){
//检查对象中的每个属性是否为真
var isValid=Object.keys(obj).every(函数(键){
返回obj[键];
});
//如果是真的,做你需要做的
如果(有效){
document.body.style.backgroundColor=“绿色”;
}否则{//不正确,请再次运行检查
setTimeout(检查,500);//下一次检查是半秒
}
}
检查()//初始化检查
//为演示翻转数据的方法
document.querySelector(“按钮”).addEventListener(“单击”),函数(){
obj={
艾因斯:没错,
中伟:是的,,
是的
};
});

设置
简单循环,查看对象是否全部为真,确定步骤所需的全部是if/else

var obj={
艾因斯:错,
中伟:错,,
德雷:错
}; 
//函数调用以查看代码是否已更新
函数检查(){
//检查对象中的每个属性是否为真
var isValid=Object.keys(obj).every(函数(键){
返回obj[键];
});
//如果是真的,做你需要做的
如果(有效){
document.body.style.backgroundColor=“绿色”;
}否则{//不正确,请再次运行检查
setTimeout(检查,500);//下一次检查是半秒
}
}
检查()//初始化检查
//为演示翻转数据的方法
document.querySelector(“按钮”).addEventListener(“单击”),函数(){
obj={
艾因斯:没错,
中伟:是的,,
是的
};
});

设置
您可以使用
数组.prototype。每个
方法:

var allTrue = Object.keys(obj).every(function(key) {
   return obj[key] === true;
});

您可以使用
Array.prototype。每个
方法:

var allTrue = Object.keys(obj).every(function(key) {
   return obj[key] === true;
});

以下是另一种方法:

var obj={
艾因斯:错,
中伟:错,,
德雷:错
};
函数allTrue(obj){
var all_true=true;
Object.keys(obj).forEach(函数(key){
如果(obj[key]==false)全部为true=false;
});
返回所有_true;
}
函数doSomething(){
//做点什么
var-key;
Object.keys(obj).forEach(函数(key){
如果(obj[键]==假){
键=键;
}
});
obj[key_]=true;
log('iteration');
如果(!allTrue(obj))doSomething();
}

doSomething()以下是另一种方法:

var obj={
艾因斯:错,
中伟:错,,
德雷:错
};
函数allTrue(obj){
var all_true=true;
Object.keys(obj).forEach(函数(key){
如果(obj[key]==false)全部为true=false;
});
返回所有_true;
}
函数doSomething(){
//做点什么
var-key;
Object.keys(obj).forEach(函数(key){
如果(obj[键]==假){
键=键;
}
});
obj[key_]=true;
log('iteration');
如果(!allTrue(obj))doSomething();
}
doSomething()