読み込み中画面が消えない場合、やること「読み込み中画面を表示する」と「読み込み中画面を終了する」のアクションの数が一致しているか確認してください。
また、読み込み中画面が意図しないタイミングで消えてしまう場合は「読み込み中画面を終了する」のアクションの条件や、処理の流れをご確認ください。
読み込み中画面が消えない
⇒「読み込み中画面を表示する」が余分に実行されていないか、または「読み込み中画面を終了する」が不足していないかをご確認ください。
「読み込み中画面を表示する」の数に対して「読み込み中画面を終了する」が少ない場合に読み込み中画面が消えず、表示され続けるようになります。
例えば、下記のような流れで処理を行った場合は読み込み画面が表示されたままとなり、消えません。
読み込み中画面を表示する
レコードを大量に取得するなど時間がかかる処理を行う
読み込み中画面を表示する
読み込み中画面を終了する
この場合、「読み込み中画面を表示する」が2回に対し「読み込み中画面を終了する」が1回となっています。
そのため、読み込み中画面が1つ終了されずに残り、表示されたままになってしまいます。
このような状況を回避するため「読み込み中画面を表示する」と「読み込み中画面を終了する」の数は揃えてご利用ください。
読み込み中画面が表示されない、時間がかかる処理の終了を待たずに消えてしまう
読み込み中画面が表示されない、または読み込み中画面を表示しておきたい、時間がかかる処理が終わる前に読み込み中画面が消えてしまう場合、下記のような理由が考えられます。
パターン1)やること「読み込み中画面を終了する」の条件に、読み込み中画面を表示してほしい処理の完了を待つ「他のアクションの実行が完了した時」を指定していない
⇒時間がかかる処理の実行が完了してから「読み込み中画面を終了する」が実行されるように、条件に「他のアクションの実行が完了した時」を指定してください。
誤ったカスタマイズ例:
本来は「全レコードを取得する」のアクションが完了したら読み込み中画面を終了したいところを、「全レコードを取得する」とは別のアクションNoを指定しています。
このように指定してしまうと、完了を待ちたい処理が終わる前に読み込み中画面が消えてしてしまいます。
また、読み込み中画面の表示時間が短すぎて、表示されていないように見える場合もあります。
カスタマイズの修正例:
「全レコードを取得する」が完了してから読み込み中画面が終了するよう指定しました。
これで、読み込み中画面を表示しておきたい「全レコードを取得する」の完了を待って、読み込み中画面が終了されるようになります。
パターン2)「読み込み中画面を表示する」に一つに対して複数の「読み込み中画面を終了する」が実行されている
⇒「読み込み中画面を表示する」と「読み込み中画面を終了する」の数を揃え、処理の流れを整理してください。
下記の例は「読み込み中画面を表示する」の後、時間がとても長くかかる処理と時間がかかる処理を並行して行い、「読み込み中画面を終了する」を別々のアクションで設置している場合、時間がとても長くかかる処理が終わる前に読み込み中画面が終了してしまいます。
誤った処理の例:
例えば、下記のように変更します。
処理の修正例:
「読み込み中画面を終了する」の条件に「他のアクションの実行が完了した時」を指定し、時間がとても長くかかる処理と時間がかかる処理両方の完了を待ってから、読み込み中画面を終了するように設定します。
下記は修正後の処理のカスタマイズ例です。
アクションNo.3で読み込み中画面を表示した後、アクションNo.2と8の処理、アクションNo.9の処理は並行して動きます。
最後にアクションNo.7で読み込み中画面を終了する際に、アクションNo.8とアクションNo.9の両方の処理の完了を待ってから実行することで、処理の流れが整理され、時間のかかる処理の完了を待ってから読み込み中画面が終了するようになります。
なお、Customineのカスタマイズ画面で「読み込み中画面を表示する」と「読み込み中画面を終了する」のアクションを別々のページに配置した場合も、問題なく読み込み中画面の表示・終了は可能です。
ページを分けた場合の詳細は、こちらのFAQをご参照ください。