var count = 0; function draw() { count += 1; console.log(count); if(count < 1000) { setTimeout(draw, 30); } }; draw();
このような感じでsettimeoutを1000回行ったら
とめたいのですが、うまくいきません・・・
どのようにしたら出来ますでしょうか?
このコードそもそも動いてますか?
setTimeout(draw 30) 実際のコードもカンマ抜けてるのですか?
「このような感じで」と「うまくいかない」コードは別にあるということでしょうか。そもそもこのコードはエラーがあって動かないと思うのですが。
すいませんカンマ抜けていました!転機ミスです。実際は動いておりまして、上記は少し簡略化した状態になっております。上記のコードだとsettimeoutが止まらない状態です・・・
編集後のコードで正常に止まりましたよ?「うまくいきません」では伝わらないので起きている現象を具体的に記載してください。質問本文を編集してください。
ほんとですね・・・他に原因がありそうです。ちょっともう少し調査して再掲載・追記いたします。
簡略コード過ぎては本来の目的を達成できない可能性が高いです。もう少し大目的・要件のところをきちんと書かれた方が良いかと。
止まらないことを再現している最小限のコードを用意して追記してください。なんとなく何が原因かは予想はついていますが。
そうですね。いつもノイズになると思い簡略化しているのですが今後はなるべく生のままを掲載したいと思います!とは言えそうなるといろいろライブラリなどもあるので少々お時間くださいませ!
となるとやはり現在の質問内容では要件が伝わりにくく回答が得られにくいように思います。質問テンプレートをご活用ください。https://teratail.com/help/question-tips#questionTips3-8