【解決済み】メッセージが終了した時を検知したい。非同期処理?
Posted: 2024年4月22日(月) 15:11
お世話になっております。DoujinRuisです
今日は私から質問です。
メッセージが終了したタイミングで変数操作をしたいです。
メッセージA
変数操作A
メッセージB
変数操作B
メッセージC
変数操作がバックグラウンドで処理してしまう為、メッセージの完了を待たずに変数操作Bまで実行されてしまいます。非同期処理で対処すべきなのか、もっといい方法があるのかご存じの方いたら教えてください
isBusy() ダメでした
window.gameMessageAdd = function(message){
return new Promise((resolve) => {
$gameMessage.add(message);
$gameMessage.newPage(); // 新しいページを開始
const checkMessageFinished = () => {
if ( ) { ///////////////////////////←左の条件式さえうまくいけばどうにかなりそう?/////////////////////////////
resolve(); // メッセージの表示が終了したらプロミスを解決
} else {
setTimeout(checkMessageFinished, 100); // まだ表示中なら100ミリ秒後に再チェック
}
};
checkMessageFinished(); // 最初のチェックを実行
});
};
gameMessageAdd(`メッセージを表示しました`)
.then(() => {
window.val = 1;
});
今日は私から質問です。
メッセージが終了したタイミングで変数操作をしたいです。
メッセージA
変数操作A
メッセージB
変数操作B
メッセージC
変数操作がバックグラウンドで処理してしまう為、メッセージの完了を待たずに変数操作Bまで実行されてしまいます。非同期処理で対処すべきなのか、もっといい方法があるのかご存じの方いたら教えてください
isBusy() ダメでした
window.gameMessageAdd = function(message){
return new Promise((resolve) => {
$gameMessage.add(message);
$gameMessage.newPage(); // 新しいページを開始
const checkMessageFinished = () => {
if ( ) { ///////////////////////////←左の条件式さえうまくいけばどうにかなりそう?/////////////////////////////
resolve(); // メッセージの表示が終了したらプロミスを解決
} else {
setTimeout(checkMessageFinished, 100); // まだ表示中なら100ミリ秒後に再チェック
}
};
checkMessageFinished(); // 最初のチェックを実行
});
};
gameMessageAdd(`メッセージを表示しました`)
.then(() => {
window.val = 1;
});