我在尝试递归调用某个方法时遇到了一个奇怪的错误。setTimeout问题Javascript
它就好像编译器跳过了setTimeout函数。
我从另一个函数调用函数来启动递归,但setTimeout不会再次调用startFaceTracking()。
我可能是愚蠢的,但有人可以指出这个问题?
我已经试过了,
function startFaceTracking() {
var eventHit = false;
if(!eventHit){
setTimeout(startFaceTracking,500);
}
}
,并提前此
function startFaceTracking() {
var eventHit = false;
if(!eventHit){
setTimeout(function(){startFaceTracking();},500);
}
}
感谢,
setTimeout可能正在运行。你的函数虽然没有做任何事情,所以你甚至不知道它是否在运行。你期望看到什么? – Carcigenicate
'var eventHit = false;'所以你的代码会反复调用相同的函数 –
函数肯定没有运行。否则,我会陷入无限循环。 – howells699