前提
Javascriptで非同期処理のコードを書いています。
Startボタンを押すと一秒おきにConsole.logにHello表示するコードを書いたのですが、Startボタンを連打すると前の処理が残っていてうまく動きません。
ボタンを連打してもうまく動くように、ボタンを押したら前の処理を中断したいのですがなにか方法はないでしょうか?
何を使えばいいなどのヒントだけでもいいのでよろしくお願いします。
該当のソースコード
Html
1<!DOCTYPE html> 2<html lang="ja"> 3 <head> 4 <meta charset="utf-8"> 5 <title>test</title> 6 <script src="js/q1.js"></script> 7 </head> 8 9 <body> 10 <div class="container"> 11 <button type="button" onclick="test1()">Start</button> 12 </div> 13 </body> 14</html>
Javascript
1const _sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms)); 2 3const test1=async()=>{ 4 for(let i=0;i<100;i++){ 5 console.log("Hello"); 6 await _sleep(1000); 7 } 8}
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。