我正在运行一个脚本,该脚本不断推出名为rects[0]
的值数组。这是代码:
function draw_faces(ctx, rects, sc, max) {
var on = rects.length;
if(on && max) {
jsfeat.math.qsort(rects, 0, on-1, function(a,b){return (b.confidence<a.confidence);})
}
var n = max || on;
n = Math.min(n, on);
var r;
for(var i = 0; i < n; ++i) {
r = rects[i];
ctx.strokeRect((r.x*sc)|0,(r.y*sc)|0,(r.width*sc)|0,(r.height*sc)|0);
if (rects[0].width > 41.5 && rects[0].height > 41.5)
WAIT TIME AND CHECK AGAIN
THEN console.log("face length");
}
}
我想做的是在初始if语句检查rects [0]值之后,我要等待一段时间,然后再次检查那些变量是否仍高于41.5的阈值,然后再执行一些操作,在这种情况下为console.log( “脸部长度”)。
因此,基本上我需要检查
rects[0]
,然后等待几秒钟,然后再次检查其值是否高于阈值。 最佳答案
您不希望延迟,而是想要设置一些代码以便在几秒钟后运行。像这样使用setTimeout
:
function draw_faces(ctx, rects, sc, max) {
var on = rects.length;
if(on && max) {
jsfeat.math.qsort(rects, 0, on-1, function(a,b){return (b.confidence<a.confidence);})
}
var n = max || on;
n = Math.min(n, on);
var r;
for(var i = 0; i < n; ++i) {
r = rects[i];
ctx.strokeRect((r.x*sc)|0,(r.y*sc)|0,(r.width*sc)|0,(r.height*sc)|0);
if (rects[0].width > 41.5 && rects[0].height > 41.5) {
setTimeout(function() {
if (rects[0].width > 41.5 && rects[0].height > 41.5) {
console.log("face length");
}
}, 3000);
}
}
}