我在嘗試遞歸調用某個方法時遇到了一個奇怪的錯誤。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