質問: hoyoyo_value; // ★cosole.log() ← ここで確認しました。 } } } else{ } } ).catch(function(){ } ); return event; }); ``` よろしくお願いします。
回答: ※ 自己解決しました kintone.api は、非同期処理でした。 このためreturn event; の実行されるタイミングがkintone api終了前だったようです。 よって値の変更はreturnの後に起きていてログ上は処理が進んでいて 変わっているように見えますが、変数の値が変わっただけで データ自体が更新されたわけではなかったようです。 Promiseを使うことで解決できました。 参考 kintone API で Promise を使ってみよう! ``` kintone.events.on(['app.record.create.submit', 'app.record.edit.submit', 'app.record.index.edit.submit'], function(event) { var body = { "app": xxx, }; // 2 必要な値を取得 return kintone.api(kintone.api.url('/k/v1/records', true), 'GET', body).then(function(resp) { if (resp.records[0] !== null) { // レコード内のテーブルを一行ずつ呼び出す for (var j = 0; j < table_length; j++) { var record_length = resp.records.length; // j行目のテーブルデータの情報を持つ値を別アプリのデータから探す for (var i = 0; i < record_length; i++) { //該当データが見つかったら計算 //テーブルに値を代入 record_table.value[j].value.ayaya.value = ayaya_value; record_table.value[j].value.hoyoyo.value = hoyoyo_value; // ★cosole.log() ← ここで確認しました。 } } } else { } return event; }).catch(function() { event.error = 'レコード取得エラー'; return event; }); }); ```