for分の中に別アプリのテーブルデータを読み込むAPIを入れたのですが、APIを除いた処理が先に終わり、その後API処理が実行されてしまうので処理順番がおかしくなってしまい悩んでおりました。
原因は非同期処理にあると思い以下のコードを書きましたが上手くいきません。。どこが良くないかご教授頂けると幸いです。
(() => {
‘use strict’;
kintone.events.on([‘app.record.create.show’, ‘app.record.edit.show’], event => {
const record = event.record;
const space = kintone.app.record.getSpaceElement(‘test’);
const button = document.createElement(‘button’);
button.textContent = ‘テスト’;
space.appendChild(button);
button.addEventListener('click', async() => {
const current = kintone.app.record.get();
const moto_Table = current.record.test1.value;
const query = '日付 = "2024/12/12';
for (var u = 0; u < moto_Table.length; u++) {
var motobu = moto_Table[u].value["部"].value;
var body = {
'app': 2,
'query': query //クエリ設定
}
await kintone.api(kintone.api.url('/k/v1/records', true), 'GET', body, function (resp) {
resp.records.forEach(function (record) {
var sakiTable = record.test2.value;
for (var t = 0; t < sakiTable.length; t++) {
var sakibu = sakiTable[t].value["部"].value;
if (sakibu = motobu) {
alert(motobu);
alert(sakibu);
}
}
});
kintone.app.record.set(current);
});
}
});
return event;
});
})()