すべてのコードが実行される前に関数が終了してしまうという悪夢に見舞われます。カウンターを構築しようとしていますが、コードが終了したときにのみ戻ります。
私はこれを次のようにエミュレートしました(私はそれが素晴らしいものではないことを知っていますが、誰かが私を正しい方向に向けることができれば、私は非常に感謝しています):
//I want this to alert "Done"
alert(timerCheck());
function timerCheck() {
var finished;
var myLoop = 5;
for (i = 0; i < myLoop; i++) {
//This is emulating the slow code
window.setTimeout(checkFinished, 900);
alert(i);
}
function checkFinished() {
//I originally had the "return here, before realising my error
finished = true;
}
if (finished) {
//This is where my problem is
return "done";
}
}
私が言ったように、非常に単純化された例 - 誰かが間違いを指摘できれば、私は多くの手間を省くことができます!