我正在运行一个不断推出名为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的阈值然后一些动作,在这种情况下控制台.log(“面子长度”)。
基本上我需要检查rects[0]
,然后等待几秒钟,然后再次检查其值是否高于阈值。
答案 0 :(得分: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);
}
}
}