編集画面でapiを利用したフィールド更新→詳細画面への遷移で値が更新されていない

kintoneのある1アプリについて、詳細画面、編集画面それぞれにjsで以下の処理を組み込んでいます。
■詳細画面
レコード詳細画面を開いた際に「フラグ」フィールドを取得(初期値は0)
→フラグが1の場合:A処理
→フラグが1以外の場合:B処理

■編集画面
レコード編集画面を開いたときに「フラグ」フィールドを取得
→フラグが1の場合:C処理
1件のレコードを更新する - cybozu developer network
この記事を参考にフラグフィールドを2に変更し、フラグが更新されたことを確認後、location.hrefで詳細画面に遷移

ーーーーーーーーーーーーーーーーーーーーーーー
上記処理を組み込み後、実際に動かすとC処理で詳細画面に遷移後にフラグが1のままになっておりB処理が走りません。
そのまま詳細画面でブラウザの更新をすると、ちゃんとB処理が走ります。

編集画面→詳細画面への遷移後に値が更新されていない理由がわかる方おられるでしょうか?
(location.hrefでの遷移が相性悪いのでしょうか…)

編集画面ソース

if (record["フラグ"].value == 1) {
            const body = {
                "app": kintone.app.getId(),
                "id": record["レコード番号"].value,
                "record": {
                    "フラグ": {
                        "value": 2
                    }
                }
            }

            return kintone.api(kintone.api.url('/k/v1/record.json', true), 'PUT', body).then((resp) => {
                const interval = setInterval(async function () {
                    let TMP_reloadFlg = await kintone_REST_API_GET(GlobalAppId["アプリID"], `レコード番号 = ${record["レコード番号"].value}`, ["フラグ"]);
                    // フラグが2になったことを確認後遷移
                    if (TMP_reloadFlg[0]["フラグ"].value == 2) {
                        clearInterval(interval)
                        return window.location.href = `https://kajima90.cybozu.com/k/${GlobalAppId["アプリID"]}/show#record=${record["レコード番号"].value}`;
                    }
                }, 500);
            });
        }

なんかsetIntervalとかやってるところが気になりますね。
処理したあと、遷移する、ということをちゃんとやるとうまくいきそうな気がしますが…

https://cybozu.dev/ja/id/faa4f9c1ef377c0c60bb9074/#column1

こちらの記事のように書くことは可能でしょうか?
(もしくはChangeイベントとかで、そのように書くのが難しいとかありますかね)

ありがとうございます

以前は↓のコードで試していたのですが、画像のようなエラーが発生していました。

await kintone.api(kintone.api.url('/k/v1/record.json', true), 'PUT', body);
location.href="詳細画面へのURL";

こちらのページを確認したところ、あまりに遷移が早すぎるとエラーが発生すると解釈したので意図的にwaitをかける意味も込めてsetIntervalを組み込んでいました。

なるほど。理解しました。

https://cybozu.dev/ja/id/42b1d7ce01fd5d9b53dbf4df/#methods-list-5
こちらにあるようにまずはネットワークタブを確認(遷移しないようにブレークポイントもはる)、がまずは先決かもですね。

このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。