setReloadの呼び出しをsetTimeoutで遅延させ、スクリプト実行の完了後に処理を行うように変更

This commit is contained in:
harukin-expo-dev-env
2026-03-02 12:50:56 +00:00
parent 7004eeefad
commit b60a43f25c
+4 -1
View File
@@ -249,7 +249,10 @@ export const injectJavascriptData = ({
if (_c0.trainDataList) { trainDataList = _c0.trainDataList; _hashes['trainDataList'] = JSON.stringify(_c0.trainDataList); anyHit = true; }
if (_c0.trainDiagramData2) { trainDiagramData2 = _c0.trainDiagramData2; _hashes['trainDiagramData2'] = JSON.stringify(_c0.trainDiagramData2); anyHit = true; }
if (_c0.unyohubData) { unyohubData = _c0.unyohubData; anyHit = true; }
if (anyHit) setReload(); // キャッシュデータで即時描画
// setTimeout で defer することで、スクリプト全体の実行が完了し
// setStrings (const) が TDZ を抜けた後に呼び出す。
// Phase 0 の setReload() はここまで const の TDZ により無効だった。
if (anyHit) setTimeout(() => setReload(), 0);
}
// === Phase 1: 軽量API (合計~210ms) を並列取得 → setReload 1回 ===