日本語プログラミング言語なでしこの公式掲示板

なでしこ の 掲示板

トップ 新規 検索

2024-10-26 22:56:05

時間がかかる処理を中断する

TKI さん

時間がかかる処理を途中でキャンセルする方法を調べて、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)
・バグかも(なでしこを修正)
どれな感じでしょうか

(編集パスワード送信)

親記事

この内容(No.1983)に返信

この内容(No.1983)をダウンロード

この内容(No.1983)のテキスト表示

子記事

1985 バグ報告行き (24-10-30)
1984 バグかも? (24-10-29)




www.eznavi.net