2024-10-26 22:56:05
時間がかかる処理を中断する
時間がかかる処理を途中でキャンセルする方法を調べて、Abort Controller、そういうのもあるのかー でも本物はよくわからないのでそれっぽい動きをするものを作ってみましたがエラーがでます グローバル変数を使って連続実行したときに前回のローカル変数に停止のフラグを送り込む作戦です //---------------------------- //なでしこ3.6.25 !インデント構文 変数 ロードキャンセル=[0] ●長イベント ロードキャンセル[0]=1 //グローバル変数 前回のやつ 変数 キャンセル制御 //ローカル変数 ロードキャンセル=[0] //グローバル変数 newする キャンセル制御はロードキャンセル 20回 0.1秒待つ //2秒かかる もしキャンセル制御[0]==1ならば //連打するとエラー? 0を戻す 1を戻す クリック回数=0 「テスト用」のボタン作成 それのクリック時には クリック回数=クリック回数+1 変数 txt=クリック回数 長イベント //2秒かかる もしそれが0ならば戻る txtを表示 //連打した時に最後の1回だけ表示されるようにしたい //---------------------------- テスト用のボタンを連打すると最後の1回だけ「txtを表示」のところにいくようにしたいです 実行して2連打でクリックするとエラーになります 連打するとでるエラー Uncaught (in promise) TypeError: Cannot read properties of undefined (reading '0') 今後の方針をたてたいのですが ・作戦がまちがっている(プログラムを修正) ・仕様である(エラー監視でOK) ・バグかも(なでしこを修正) どれな感じでしょうか |